Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有附加字段的一对多fluent_C#_.net_Entity Framework_Entity Framework 6 - Fatal编程技术网

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");
            });
    
    modelBuilder.Entity()
    .HasMany(mm=>mm.Attributes)
    .WithMany(a=>a.Models)
    .Map(mv=>
    {
    mv.ToTable(“车型车辆属性”,SchemaNames.Config);
    mv.MapLeftKey(“制造商模型Id”);
    mv.MapRightKey(“车辆属性Id”);
    });
    
    工作完美但是:我应该把排序器列放在哪里?在我看来,它应该在映射表“Model\u VehicleAttribute”中,这样我就可以选择一个ManufacturerModel并按排序顺序获取所有属性。如何做到这一点


可能重复感谢,这是一个有效的解决方案。但是我失去了很多便利,因为我不能只说“Model.Attributes.Add(…)”,而是必须首先创建Model_属性实体,以及我想添加到模型中的每个属性的实体。六羟甲基三聚氰胺六甲醚。。。不是很满意,所以我希望有其他的解决方案。
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");
        });