bit*_*ler 6 inheritance code-first entity-framework-4.1
在我目前的项目中,我正在使用代码第一种方法.
我有一个类型叫做Task模型的一部分.我也BackgroundTask衍生自Task并UserAccountTask衍生自BackgroundTask.
当我只是尝试创建一个类型的对象Task并将其添加到我的任务存储库时,我会在DbUpdateException尝试将更改保存到数据库时立即获得.它的内部异常表明:
"无效列名'UserAccount_UserId'.\ r \n无效列名'UserAccount_Lastname'.\ r \n无效列名'UserAccount_Firstname'.\ r \n无效列名'UserAccount_Fullname'.\ r \n无效列名'UserAccount_Password'.\ r \n \n无效的列名称'UserAccount_Title'[...]"
UserAccount是另一种类型和的属性UserAccountTask(UserId,Lastname等等是属性UserAccount).
我希望我对这个问题的描述不要过于混乱: - /我只是想让EF忽略Task其他类型的基类,因为恕我直言当时并不重要.
凯文,提前谢谢
Lad*_*nka 17
尝试在派生的上下文中使用它:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Ignore<UserAccountTask>();
modelBuilder.Ignore<BackgroundTask>();
}
Run Code Online (Sandbox Code Playgroud)