1

考虑我需要 ProductPartRecord 类型和 ManufacturerPartRecord 类型的情况。在第一种类型中,我需要知道这部分的制造商是谁,因此使用 ManufacturerPartRecord 类型的属性会很方便。在第二种类型中,我想知道这个制造商生产的产品,因此拥有 IList 类型的属性会很方便。

显然这是一对多的关系。将记录放入记录中是一种不好的做法吗?这甚至可能吗,因为我在实施它时遇到了麻烦?

4

1 回答 1

1

有可能的。这是如何做到的:

  1. 在迁移中,向其添加一列ProductPartRecord类型int,名称应ManufacturerPartRecord_Id假定Id为表中主键的名称ManufacturerPartRecord
  2. 在迁移中创建一个外键。它应该看起来像这样SchemaBuilder.CreateForeignKey("Product_Manufacturer", "ProductPartRecord", new[] { "ManufacturerPartRecord_Id" }, "ManufacturerPartRecord", new[] { "Id" });
  3. ManufacturerPartRecord模型类中,您应该添加一个用于产品列表的新属性 -public virtual IList<ProductPartRecord> ProductPartRecords { get; set; }
  4. ProductPartRecord模型类中,您应该添加一个用于获取制造商的新属性 -public virtual ManufacturerPartRecord ManufacturerPartRecord { get; set; }

现在应该全部设置为自动为您的产品获取制造商,反之亦然。

如果您不希望这种情况自动发生,您应该创建一个服务类,该类将获取IRepository<ManufacturerPartRecord>IRepository<ProductPartRecord>通过构造函数注入并自己处理获取和保存列表。

于 2012-11-19T14:37:31.370 回答