具有可为空的DateTime的SubSonic SimpleRepository查找方法

时间:2010-07-06 05:12:33

标签: c# asp.net-mvc-2 subsonic lambda

using SubSonic3 SimpleRepository;

我有一个用于电子邮件队列的表,它有一个允许空值的SentOn DATETIME列。使用以下Lambda表达式产生了我的错误,有没有人有任何想法如何从列表中选择列表是否为空。

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知识是这里的问题。

1 个答案:

答案 0 :(得分:0)

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

解决方案is in this question基本上涉及查询SQL db以获取所有结果,然后在C#中使用LINQ查询。

或者你应该能够做一个类似于SubSonic 2.0的(伪代码).Where(fieldName).IsNull