我有以下课程
[Table("JEvent"]
public class JEvent : Event
{
public string MoreDetails { get; set; }
}
Table("JResource")
public class JResource : Resource
{
public string MoreDetails { get; set; }
}
我知道Event包含Resource的子集合,导致创建ResourceEvents表,即使ResourceEvents表在DBContext中没有自己的DBSet
DBContext包含
public DbSet<JEvent> JEvents { get; set; }
public DbSet<JResource> JResources { get; set; }
这会导致创建以下表格
JEvent
Event
JResource
Resource
ResourceEvents
我想要的表是
JEvent
JResource
JResourceJEvents
[更新] 我在DBContext中尝试过followng
public class MyDbContext : DbContext {
// ..
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
modelBuilder.Ignore<Event>();
modelBuilder.Ignore<Resource>();
}
}
但是,由于Event类包含Resource的子集合,因此该解决方案不会创建JResoureJEvent表。
我在JEvent课程中尝试了以下内容
public override IList Resources {get;组; }
然而,这会导致错误
覆盖属性IList时无法更改返回类型