如何解决Linq到实体-过滤关系数据问题
| 我有2张桌子。 表1和表2。它们具有一对多的关系。我正在尝试执行以下查询。查找结果效果很好。我的意思是,如果它无法根据参数找到任何结果,我照常会得到空值。但是,它将所有表2的结果一直带到表1的类中,我确实想根据查询仅获得表2的结果。dc.Table1s.SingleOrDefault(t1 => t1.SearchField1 == param1
&& t1.Table2s.Any(t2 => t2.SearchField2 == param2
&& t2.SearchField3 == param3));
我确实希望将结果作为Table1类并使用Table1.Table2s进行过滤。可能吗???
解决方法
您需要定义如何使用两个表之间的关系。
例如,如果表2引用了表1,而表1则具有表2的集合:
var result = (from t1 in Table1s
from t2 in t1.Table2s // this leverages the relationship
where t1.sf1 == p1
&& t2.sf2 = p2
&& t2.sf3 == p3
select t1).FirstOrDefault();
上面将使用您的关系将两者结合在一起,并为您提供所有符合条件的t1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。