2012-06-28 84 views
0

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

顾客:身份证,姓名,地址。 产品:ID,姓名

CustomerProduct:客户ID,产品ID

我试图添加到我的自动生成的实体数据类CUTOMER,属性colProducts如下:

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

} 

但我发现了关系丢失。这里有什么问题?我怎样才能得到与客户相关的产品。我正在这样做,以促进wpf数据绑定。

回答

0

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

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

  1. 在EF设计选择任意两个实体,然后在右键菜单中的“添加关联”选项。
  2. 适当指定每边的多样性和建立关联
  3. 选择联想,并选择“表映射”选项
  4. 现在选择包含外键列,即信息表
  5. 在列列表它会显示引用的表的主键旁边在我们的例子
  6. 选择对应的外键即从的conversationId在引用实体删除外键的属性即财产的conversationId邮件中的实体
+0

感谢您的回复,我已经与CustomerProducts有关联,但我想通过添加产品属性来覆盖实体类。这样我就可以在一个班上完成。可能吗 ? – maran87

+0

是的,但这不是一个好主意。您应该在上下文中使用导航属性,或者在查询过程中使用“Include()”以确保它们已加载。 – Tyrsius

0

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

相关问题