C# 带有附加字段的一对多fluent
假设我有一家生产很多型号的制造商。每个模型都有几个属性,这些属性应该按照一定的排序顺序出现。以下是我以前所做的:C# 带有附加字段的一对多fluent,c#,.net,entity-framework,entity-framework-6,C#,.net,Entity Framework,Entity Framework 6,假设我有一家生产很多型号的制造商。每个模型都有几个属性,这些属性应该按照一定的排序顺序出现。以下是我以前所做的: 表“ManufacturerModel”和 公共虚拟ICollection属性{get;set;} 表“VehicleAttribute”和 公共虚拟ICollection模型{get;set;} 最后是ModelBuilder fluent api,用于连接这两个表,从而得到1:n关系: modelBuilder.Entity<ManufacturerM
- 表“ManufacturerModel”和
公共虚拟ICollection属性{get;set;}
- 表“VehicleAttribute”和
公共虚拟ICollection模型{get;set;}
- 最后是ModelBuilder fluent api,用于连接这两个表,从而得到1:n关系:
modelBuilder.Entity<ManufacturerModel>() .HasMany(mm => mm.Attributes) .WithMany(a => a.Models) .Map(mv => { mv.ToTable("Model_VehicleAttribute", SchemaNames.Config); mv.MapLeftKey("ManufacturerModel_Id"); mv.MapRightKey("VehicleAttribute_Id"); });
工作完美但是:我应该把排序器列放在哪里?在我看来,它应该在映射表“Model\u VehicleAttribute”中,这样我就可以选择一个ManufacturerModel并按排序顺序获取所有属性。如何做到这一点modelBuilder.Entity() .HasMany(mm=>mm.Attributes) .WithMany(a=>a.Models) .Map(mv=> { mv.ToTable(“车型车辆属性”,SchemaNames.Config); mv.MapLeftKey(“制造商模型Id”); mv.MapRightKey(“车辆属性Id”); });
public virtual ICollection<ManufacturerModel> Models { get; set; }
modelBuilder.Entity<ManufacturerModel>()
.HasMany(mm => mm.Attributes)
.WithMany(a => a.Models)
.Map(mv =>
{
mv.ToTable("Model_VehicleAttribute", SchemaNames.Config);
mv.MapLeftKey("ManufacturerModel_Id");
mv.MapRightKey("VehicleAttribute_Id");
});