我有2个类TypeMetadata和MethodMetadata
public class TypeMetadata
{
public int Id {get; set;}
public ICollection<MethodMetadata> Methods {get; set;}
}
public class MethodMetadata
{
public int Id {get; set;}
public ICollection<TypeMetadata> GenericArguments {get; set;}
public ICollection<TypeMetadata> Attributes {get; set;}
}
这是OnModelCreating方法
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MethodMetadata>().HasMany(m => m.AttributesMetadata).WithMany(c => c.Methods).Map(cs => cs.ToTable("MethodMetadataAttributes"));
modelBuilder.Entity<MethodMetadata>().HasMany(m => m.GenericArguments).WithMany(c => c.Methods).Map(cs => cs.ToTable("MethodMetadataGenericArguments"));
}
它给出了我指定的Schema无效。未加载MethodMetadata_Attributes,因为TypeMetadata不可用。
当只有一个属性(Attributes或GenericArguments)时,它并没有那么糟糕。 我该如何更改OnModelCreating方法?