1

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

我想要完成的是让 EF 生成 2 个具有 MM 关系的对象。 MaterialProduct。一个产品有很多材料,一种材料可以在多个产品中找到。诀窍是可以测量材料,例如,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 工具会正确生成所有内容。

4

1 回答 1

4

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

您可以在此处找到有关自定义映射的文档

于 2013-02-17T00:29:08.203 回答