如果3个表的EDM如下面的figer所示。
然后,
如果有人希望来自表-3的数据来自TAble-1的id
那么它可以通过两种方式完成。
予。
db.TAble_1.FirstOrDefault(m => m.TAble_1ID == 2).Table_2.FirstOrDefault()。TAble_3;
II。
加入LINQ
如果有人想从来自TA-3
的id的table-1中获取数据那么它可以通过两种方式完成。
予。
db.TAble_1.FirstOrDefault(m => m.TAble_3ID == 2).Table_2.TAble_3;
II。
加入LINQ
提前谢谢大家。
答案 0 :(得分:2)
不,基本上什么是EDM或Lets以Linq为例,它只是SQL对象查询的转换器,然后使用SqlConnection对象触发与Inline查询相同的内容。
这个问题有两个方面:
回答你的案子: 这取决于您使用相同的查询,如果它已加入,您所声明的查询将不会产生差异(考虑到您的设计是正确的。)EDM或上述任何内容适用于任何此类查询,
但是,不要将它用于“TOO BIG QUERIES”或不要用此替换存储过程,因为它会将您的Object查询转换为SQL语句,发送它到DB Server,Sql Server Engine解析Queries,然后执行;因此,如果查询太大,那么在这种情况下,网络延迟,查询的编译,(并且因为查询正在编译它不会编译执行计划。)而在存储过程的情况下,它已经存在并且查询运行得更快
有用的链接: