假設我有多對多關係的產品和收據。有沒有什麼方法可以直接查詢product.receipts或receipt.products並獲得Iqueryable而不必引用join_table?Linq多對多?
Linq多對多?
回答
我假設你正在使用Linq-to-SQL。
答案是「沒有,不過......」
您可以在LINQ到SQL多對多關係的工作,但你做需要有代表結分離型表。
如果你只是想對一個模型對象,你可以做一些非常簡單的像一個孩子屬性數據綁定: -
public partial class Order
{
public IEnumerable<Product> Products
{
get { return Order_Details.Select(x => x.Product); }
}
}
Beware of the select-n-plus-one problem但如果你再要使用任何時候你正在使用的訂單列表。
更多信息:http://www.iaingalloway.com/2015/06/many-to-many-relationships-in-linq-to-sql.html和here。
此外,還有重複的問題一大堆: -
LINQ many-to-many relationships: Solution?
這就是爲什麼我從L2S轉移到實體框架,然後碰到一大堆不同的問題的主要原因;) – 2010-02-01 16:38:55
是的:)我通常會說,如果L2S「會做」,那就去吧。 – 2010-02-02 10:00:40
Linq to Entities和Entity Framework支持多對多關係。我知道LINQ to Sql沒有,我認爲(不確定)Linq對NHibernate確實支持多對多。 (我知道NHibernate支持多對多)
- 1. LINQ - 多對多
- 2. 多對多EF LINQ
- 3. linq with Include和多對多
- 4. EF LINQ查詢 - 多對多
- 5. LINQ多對多選擇
- 6. Linq-to-sql多對多
- 7. 多對多LINQ「IN」查詢
- 8. Linq - 多對多。與下拉
- 9. Linq To SQL多對多
- 10. LINQ的多對多包括
- 11. Linq多對多選擇
- 12. Linq加入多對多
- 13. Linq多對多查詢
- 14. Linq to Sql - 多對多 - CRUD
- 15. Linq多對多的關係
- 16. EF 4.0 LINQ一對多/多對一
- 17. Linq更新多對多關係
- 18. LINQ多對多左連接分組
- 19. linq-to-sql中的多對多實現
- 20. LINQ to SQL多對多比較查詢
- 21. C#linq groupby與多對多表記錄
- 22. LINQ到實體多對多navigationproperty算
- 23. NHibernate的 - LINQ查詢多對多問題
- 24. LINQ如何與OR搜索多對多?
- 25. NHibernate的LINQ和多對多映射
- 26. 與Linq查詢多對多關係
- 27. 多對多LINQ to SQL查詢
- 28. LINQ多對多的查詢拋出NotSupportedException
- 29. LINQ的多對多關係加入
- 30. LINQ查詢幫助 - 多對多相關
LINQ到SQL或LINQ到實體或LINQ到NHibernate的還是...? – 2010-02-01 12:47:44
@IainGalloway僅僅因爲你的答案是C#,並不意味着問題就是C#。這真的值得編輯嗎? – Rawling 2015-05-06 11:06:22