我有包含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之间创建多对多关系。
TBLPROMOTION通过促销类型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对象相关联的方法?
感谢。
答案 0 :(得分:2)
这次回答了我自己的问题:
var cartItems = db.XREFCARTITEM
.Include("TBLPROMOTION.LKPROMOTIONTYPE")
.FirstorDefault(x => x.Cart_ID == cardId);