0

对于使用实体框架的 wpf 应用程序,我需要将实体属性添加到实体类之一。例如:有一个多对多关系,有两个表和一个连接表。

客户:ID、姓名、地址。产品:ID、名称

客户产品:客户 ID、产品 ID

我正在尝试将属性 colProducts 添加到我的自动生成的实体数据类 Cutomer 中,如下所示:

    public partial class Customer
{
    public Products  colProducts;
    public Products ColProducts
    {
        get { return colProducts; }
        set 
        {
            colProducts = ???? 
        }
    }

}

但我发现关系缺失。这里有什么问题??我怎样才能获得与客户相关的产品。我这样做是为了方便 wpf 数据绑定。

4

2 回答 2

0

如果 CustomerID 和 ProductID 形成表 CustomerProduct 的复合主键,EF 应该生成正确的多对多关系。

于 2012-06-28T16:14:45.597 回答
0

首先,如果它们存在于数据库中(外键或多对多表),实体将创建这些关联。如果您可以控制数据库,则应该这样做。它比手动实体方法更简单,并有助于数据库保持有效。

如果您不能或不想这样做,您可以手动创建实体关联。这些步骤从这里采取

  1. 在 EF 设计器中选择两个实体中的任何一个,然后在右键菜单中选择“添加关联”选项。
  2. 适当地指定每一边的多重性并创建关联
  3. 选择关联并选择“表映射”选项
  4. 现在选择包含外键列的表,即消息
  5. 在列列表中,它将在旁边显示引用表的主键选择相应的外键,即我们的例子中的 ConversationId
  6. 从引用实体中删除外键属性,即消息实体中的 ConversationId 属性
于 2012-06-28T15:37:25.587 回答