2012-02-29 56 views
6

我想在LINQ翻译这个请求SQL:使用 “是NULL /不为NULL” 中的LINQ to SQL

SELECT * from Agir where NouvelIncident='1' AND facturable is null 

我尝试:

public static List<Agir> GetINDEFAgir() 
{ 
    DataClassesActilogDataContext db = ContextSingleton.GetDataContext(); 

    List<Agir> list; 

    var v = from i in db.Agir 
      where i.facturable is null && i.NouvelIncident == true 
      select i; 

    list = v.ToList(); 
    return list; 

} 

貌似 “为空”不允许在LINQ to SQL中...我有一个错误。

在此先感谢您的帮助

回答

12

使用=='is'是检查各类

public static List<Agir> GetINDEFAgir() 
{ 

DataClassesActilogDataContext db = ContextSingleton.GetDataContext(); 

List<Agir> list; 

var v = from i in db.Agir 
     where i.facturable == null && i.NouvelIncident == true 
     select i; 

list = v.ToList(); 
return list; 

} 
2

这不工作?

var v = from i in db.Agir 
      where i.facturable == null && i.NouvelIncident == true 
      select i; 

Linq-to-SQL应将其转换为正确的SQL。