我有一个linq查询从数据库中提取数据集,但不幸的是由于数据库的遗留性质,它需要手动“连接”作为查询的一部分来制定。
现在我需要为数据集添加更多可选过滤器,其中一些依赖于连接表 - 如果我将第一个查询中的数据集作为.AsQueryable()返回,我该如何访问连接表,因为它似乎不能从IQuerable获得?
示例:
var myQuery = (from o in db.FirstTable
join t in db.SecondTable on o.SecondID equals t.ID
select o).AsQueryable();
// (optional - if statement excluded for brevity)
myQuery = from x in myQuery where t.SomeField.Equals("My Filter Value");
答案 0 :(得分:0)
无论您需要哪种属性,都必须抓住选择。因此,将您的选择从“选择o”更改为“选择o.Property1,o.Property2,t.Property1,t.Property2”