我有一个基于以下T SQL的查询:
select t1.field1
t2.field1,
t2.field2,
t3.field1,
t3.field2
from t1 left outer join t2 on t1.t2key = t2.id
left outer join t3 on t1.t3key = t3.id
在Linq to Entities中,查询采用
形式var query = db.context.t1.include(“t2”).include(“t3”);
表t1有一个不寻常的结构,字段t2key和t3key可以为空。可空字段阻止我通过任何t2或t3字段进行过滤。
到目前为止,我能看到的唯一出路是在执行过滤之前将结果作为数据库视图返回。或者我应该采取另一种方法吗?
答案 0 :(得分:0)
为了它的价值,我最终最终使用了Linq。如果其他人在同一条船上,这就是绕过可空问题的语法:
query = query.Where(x => x.t1field!= null?x.t1field.t3field.Contains(model.propvalue):false).Select(x => x);