EF数据库首先有多个附加字段

时间:2013-02-17 00:23:53

标签: entity-framework database-first ef-database-first

现在这可能是一个愚蠢的问题,但它让我非常头疼。

我想要完成的是EF生成2个具有M-M关系的对象。 MaterialProduct。 产品有许多材料,一种材料可以在多种产品中找到。诀窍是可以测量材料,例如kg,我需要知道一种材料在其产品中保持多少kg。 注意:材料可以不存在产品,没有材料就不能存在。

这是我提出的初步设计,但显然不起作用。

[Material]  [Product]    [MaterialInProduct]
ID  *PK     ID  *PK      ProductID  *FK              __together these two fields are primary key          
Code        Code         MaterialID *FK              for this table
Name        Name         QuantityOfMaterialInProduct 
Price       Quantity
Unit        Unit
Quantity

所以我的问题是,如何正确添加QuantityOfMaterialInProduct字段,因为没有它,DBContext工具会正确生成所有内容。

1 个答案:

答案 0 :(得分:4)

不要让EF创建多对多关联,而是自己定义MaterialInProduct实体。您可以将其映射为具有由ProductId和MaterialId(具有关联的导航属性)组成的复合键。这样做,您可以轻松添加任何其他字段。

您可以找到有关自定义地图here

的文档