asp.net - Linq 多对多?

标签 asp.net linq

假设我有多对多关系的产品和收据。有什么方法可以直接查询product.receipts或receipt.products并获取Iqueryable而无需引用join_table?

最佳答案

我假设您正在使用 Linq-to-SQL。

答案是“不,但是......”

可以在Linq-to-SQL 中处理多对多关系,但是您确实需要有一个单独的类型来表示联结表。

如果您只想例如针对模型对象的子属性进行数据绑定(bind),您可以执行一些非常简单的操作,例如:-

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.htmlhere .

此外,还有一大堆重复的问题:-

LINQ many-to-many relationships: Solution?

How to load Many to many LINQ query?

and tons more.

关于asp.net - Linq 多对多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176662/

相关文章:

jquery - 为什么数据表不适用于 gridview?

c# - ASP.Net生命周期和控制状态和 View 状态

c# - 使用 Controller 名称和操作名称 main.js 时,asp.net core 的 Angular 2 设置问题

c# - 从数据表中选择不同的记录

linq - 在LINQ中学习表达式树

c# - 我可以用 LINQ 做到这一点吗?

c# - Try/Catch block 未捕获异常

sql - 我如何将此 SQL 代码转换为 LINQ?

linq - CRM2011 - SDK 5.0.3 - Linq 到 CRM 实体问题

c# - Linq 查询 : Cannot convert type IEnumerable<string> to string changing . ToString() 到(字符串)