我正在使用EF4。
我想使用linq到实体
编写以下语句select * from address where address.satausId in (1,2,3,4)
数据库中的状态ID可能为空
我试过了
var statusesToFind = new List<int> {1, 2, 3, 4};
var AddressList = from sa in db.Address
where statusesToFind.Contains(sa.statusId)
select sa;
这给了我一个语法错误
奇怪的是,如果我尝试上面的语句,但使用sa.Id,这是关键字段,它没有问题,我认为问题是由于数据库中的statusId允许空值。
如果有人能告诉我如何正确地写上述内容,我将不胜感激。
由于
答案 0 :(得分:4)
使statustofind成为可以为空的整数列表,如
var statusesToFind = new List<int?> {1, 2, 3, 4};
var AddressList = from sa in db.Address
where statusesToFind.Contains(sa.statusId)
select sa;