使用EF4。我有一种情况,由于多对多表,具有显式连接的linq到EF查询将无法工作。我不会打破数据库设计以适应EF,所以我想使用include方法。但是,这似乎总是生成左外连接,我需要内部连接(简单context.Table1s.Include("Table2")
,其中表是1对1或1对多将证明问题)。
任何强制内连接的方法?
答案 0 :(得分:0)
不幸的是,无法以某种方式让EF生成查询。
但是当您添加3个实体时,您应该只在设计器中看到其中的2个,第3个实体是“关系”。因此,如果您拥有实体人员,书籍和贷款,您应该只看到人员和书籍,人们应该拥有名为Books()的导航属性,该属性将所有相关书籍(贷款)返还给该人。
如果你希望你能在该导航属性上做一个.Include(“Books”)。
答案 1 :(得分:0)
我问了一个非常similar question,它为我提供了一个可用的答案,提供了一个解决方案,因此我能够将查询转换为内部联接,从而大大加快查询执行时间。特别是接受的答案中的第二个解决方案是我之后使用的那个,因为我真的不想使用eSQL,因为我真的不喜欢魔术字符串。它会让我回到过去10年。