现在这可能是一个愚蠢的问题,但它让我非常头疼。
我想要完成的是EF生成2个具有M-M关系的对象。
Material
和Product
。
产品有许多材料,一种材料可以在多种产品中找到。诀窍是可以测量材料,例如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工具会正确生成所有内容。
答案 0 :(得分:4)
不要让EF创建多对多关联,而是自己定义MaterialInProduct实体。您可以将其映射为具有由ProductId和MaterialId(具有关联的导航属性)组成的复合键。这样做,您可以轻松添加任何其他字段。
您可以找到有关自定义地图here
的文档