考虑我需要ProductPartRecord类型和ManufacturerPartRecord类型的情况。 在第一种类型中我需要知道谁是这部分的制造商,因此使用ManufacturerPartRecord类型的属性会很方便。 在第二种类型中,我想知道这个制造商生产的产品,因此拥有IList类型的属性会很方便。
显然这是1对多的关系。 将记录放入记录中这是一种不好的做法,这是否可能,因为我面临着实施它的麻烦?
答案 0 :(得分:1)
有可能。以下是如何做到这一点:
ProductPartRecord
添加一个类型int
的列,名称应为ManufacturerPartRecord_Id
,假设Id
是主键的名称ManufacturerPartRecord
表。SchemaBuilder.CreateForeignKey("Product_Manufacturer", "ProductPartRecord", new[] { "ManufacturerPartRecord_Id" }, "ManufacturerPartRecord", new[] { "Id" });
ManufacturerPartRecord
模型类中,您应添加一个新属性,用于产品列表 - public virtual IList<ProductPartRecord> ProductPartRecords { get; set; }
ProductPartRecord
模型类中,您应添加一个新属性,用于获取制造商 - public virtual ManufacturerPartRecord ManufacturerPartRecord { get; set; }
现在应该全部设置为您的产品自动获得制造商,反之亦然。
如果你不希望这种情况自动发生,你应该创建一个服务类,它将通过构造函数注入获得IRepository<ManufacturerPartRecord>
或IRepository<ProductPartRecord>
,并自己处理获取和保存列表。