假设我有多对多关系的产品和收据。有什么方法可以直接查询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.html和 here .
此外,还有一大堆重复的问题:-
LINQ many-to-many relationships: Solution?
关于asp.net - Linq 多对多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176662/