我正在用設計器(VS2012)創建一個EF5實體模型,並使用EF5 DbContext生成器作爲代碼生成項目。EF5模型 - 首先,DBContext代碼生成和派生類
我的模型包含從另一個(而不是抽象)派生的實體。
假設基礎實體被稱爲BaseEntity,派生實體是DerivedEntity。
現在我看到在生成的上下文類,沒有
Public DbSet<DerivedEntity> DerivedEntities { get; set; }
定義
。
只有
Public DbSet<BaseEntity> BaseEntities { get; set; }
定義。
這是正常的嗎?如果是的話,我該如何查詢linq中的派生實體?
我已經習慣了這樣的查詢:
using(var ctx = new EntityContainer)
{
var q = from e in ctx.DerivedEntities <-- but this is now not possible since it doesn't exist
select e;
return q.ToList();
}
感謝回答。
編輯:
按照要求,生成的類貼:
public partial class Scheduling
{
public int Id { get; set; }
public string Subject { get; set; }
public System.DateTime BeginDate { get; set; }
public System.DateTime EndDate { get; set; }
}
public partial class TeamScheduling : Scheduling
{
public int TeamId { get; set; }
public Nullable<int> AssignmentId { get; set; }
public virtual Team Team { get; set; }
public virtual Assignment Assignment { get; set; }
}
public partial class EntityContainer : DbContext
{
public EntityContainer()
: base("name=EntityContainer")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<Team> Teams { get; set; }
public DbSet<Location> Locations { get; set; }
public DbSet<Country> Countries { get; set; }
public DbSet<Assignment> Assignments { get; set; }
public DbSet<ProductType> ProductTypes { get; set; }
public DbSet<AssignmentPreference> AssignmentPreferences { get; set; }
public DbSet<Scheduling> Schedulings { get; set; }
}
正如你看到的,和EntityContainer類不包含
public DbSet<TeamScheduling> TeamSchedulings { get; set; }
你能告訴例子嗎? – bUKaneer
也許你可以將你的模型圖保存爲圖像並將其發佈到你的問題中。 –
更多信息增加 – tjeuten