发票有很多产品,产品可以有很多X(X在这里不重要)
var query = from i in invoices
join prod in i.products on i.id equals prod.InvoiceId
select new MyClass{ Id = i.id, more props }
为什么加入不起作用?
我收到错误“i.product”这里的“i”在当前上下文中不存在。
答案 0 :(得分:0)
join
用于当您有两个单独的集合时,您希望比较这些集合的各个元素的某些属性。如果您拥有单独的未经过滤的产品集合,并且想要查找与发票ID匹配的产品,则可以使用它。例如,如果您没有定义任何导航属性,则可以使用它。
这不是您在此之后的内容:您确实拥有导航属性,并且通过使用它,实体框架将设置一些内容,以便i.products
仅包含匹配的产品。您无需手动链接发票ID。
var query = from i in invoices
from prod in i.products
select ...;