2010-07-06 67 views
0
using SubSonic3 SimpleRepository; 

我已经使用了具有SENTON DATETIME列允许空值的邮件队列的表。使用下面的Lambda表达式使我产生了错误,有没有人有任何想法如何从表中选择列是空的列。亚音速SimpleRepository查找方法可空日期时间

IList<Email> emails = _repo.Find<Email>(x => x.SentOn == null); 
IList<Email> emails = _repo.Find<Email>(x => !x.SentOn.HasValue); 
IList<Email> emails = _repo.Find<Email>(x => x.SentOn.Value.Equals(null)); 

当然有一个简单的方法来实现这一点,而不是像它的边缘情况。我认为我有限的lambda/linq知识是这里的问题。

回答

0

不知道你遇到的错误我猜这是因为你正在编写LINQ代码,由C#执行,但你将它传递给SubSonic将其转换为SQL。

一个解决方案is in this question基本上涉及查询所有结果的SQL数据库,然后在C#之后使用LINQ查询。

另外,你应该可以做一个(伪代码).Where(fieldName).IsNull类似于SubSonic 2.0