当前位置: 首页 > 编程语言 > C#

Entityframework4中左外连接太多?分享

时间:2023-04-11 03:02:45 C#

entityframework4中的leftouterjoins太多了?我有一个包含0或1个“BestSeller”实体的产品实体。出于某种原因,当我说:db.Products.OrderBy(p=>p.BestSeller.rating).ToList();我得到的SQL有一个“额外的”外连接(如下)。如果我添加第二个0或1关系,并按两者排序,那么我会得到4个外部联接。似乎每个这样的实体都会产生2个外部连接而不是一个。LINQtoSQL的工作方式完全符合您的预期,没有额外的连接。有没有其他人遇到过这种情况,或者知道如何解决?SELECT[Extent1].[id]AS[id],[Extent1].[ProductName]AS[ProductName]FROM[dbo].[Products]AS[Extent1]LEFTOUTERJOIN[dbo].[BestSeller]AS[Extent2]ON[Extent1].[id]=[Extent2].[id]LEFTOUTERJOIN[dbo].[BestSeller]AS[Extent3]ON[Extent2].[id]=[Extent3].[id]ORDERBY[Extent3].[rating]ASC我问JulieLerman在这里回答类似的问题:请参阅DoesSimpleLinqqueryhaveduplicatejoinsagainstthesametable?额外的外部连接似乎是多余的。我认为最好联系实体框架设计团队。他们可能知道这是一个错误,并查看是否需要在下一个版本中修复它。您可以通过http://blogs.msdn.com/b/efdesign/contact.aspx与他们联系这可能是一个错误,但它似乎是一个简单的案例,奇怪的是错误没有被捕获和修复。你能检查你的EF模型吗?BestSeller表是否被添加了两次,或者表之间的关系是否重复。以上是C#学习教程:Toomanyleftouterconnectionsinentityframework4?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: