指定的EF模式无效。类型x不可用

时间:2017-12-15 14:07:21

标签: c# entity-framework

我有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方法?

0 个答案:

没有答案