【问题标题】:How to relate entities without navigation property mappings如何在没有导航属性映射的情况下关联实体
【发布时间】: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


【解决方案1】:

这次回答了我自己的问题:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多