2009-11-05 36 views
0

我有一個包含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通過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上述目的?

謝謝。

+0

回答我自己的問題這一次。 VAR cartItems = db.XREFCARTITEM.Include( 「TBLPROMOTION.LKPROMOTIONTYPE」)FirstorDefault(X => x.Cart_ID == cardId); – 2009-11-05 21:35:57

+0

將答案發布爲答案並將其標記爲正確。 – 2009-11-16 06:28:31

回答

2

回答我自己的問題這時候:

var cartItems = db.XREFCARTITEM 
        .Include("TBLPROMOTION.LKPROMOTIONTYPE") 
        .FirstorDefault(x => x.Cart_ID == cardId);