【发布时间】:2009-11-05 20:46:03
【问题描述】:
我有一个包含 4 个表的数据库
TABLE TBLCARTITEM (CART_ID, ITEM_ID, PROMOTION_ID, many more cart item fields)
TABLE XREFCARTITEMPROMOTION (CART_ID, ITEM_ID, PROMOTION_ID)
TABLE TBLPROMOTION (PROMOTION_ID, PROMOTION_TYPE_ID, many more promotion fields)
TABLE LKPROMOTIONTYPE (PROMOTION_TYPE_ID, PROMOTION_TYPE_DESCRIPTION)
XREFCARTIEMPROMOTION 表是一个交叉引用表,它在 TBLCARTITEM 和 TBLPROMOTION 之间创建多对多关系。
TBLPPROMOTION 通过 PROMOTION TYPE ID 链接到 LKPROMOTIONTYPE。
我正在尝试使用 LINQ 来获取所有特定的购物车项目和相关促销活动。
到目前为止,我拥有除了 LKPROMOTIONTYPE 表之外的所有内容。
using (WSE db = new WSE())
{
var cartItems = db.XREFCARTITEM.Include("TBLPROMOTION")
.FirstOrDefault(x => x.CART_ID == cartId);
}
这为我提供了购物车的所有内容,包括与每件商品相关的促销活动。但是,当我尝试包含 LKPROMOTIONTYPE 表时,我收到以下运行时错误:
A specified Include path is not valid. The EntityType 'Model.XREFCARTITEM' does not declare a navigation property with the name 'LKPROMOTIONTYPE'.
我的问题是: 有谁知道将 LKPROMOTIONTYPE 与上面的这个 cartItems 对象相关联的方法吗?
谢谢。
【问题讨论】:
-
这次回答了我自己的问题:var cartItems = db.XREFCARTITEM.Include("TBLPROMOTION.LKPROMOTIONTYPE").FirstorDefault(x => x.Cart_ID == cardId);
-
将您的答案发布为答案并将其标记为正确。
标签: linq entity-framework linq-to-entities