gza*_*zak 3 .net c# entity-framework entity-framework-4 c#-4.0
我按照这篇文章为我的实体制作了每个类型的表继承模型,但是当我尝试将子类的实例添加到数据库时,我收到以下错误.
以下是我创建子类型的方法:
var cust = db.Users.CreateObject<Customer>(); // Customer inherits User
db.Users.AddObject(cust);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我拨打最后一个电话时收到以下错误:
"在不止一个位置生成跨实体或关联共享的值.检查映射是否不会将EntityKey拆分为多个存储生成的列."
具有以下内部异常:
"已经添加了具有相同键的项目."
关于我可能遗失的任何想法?
更新了REPRO STEPS
创建了一个空白的MS SQL Server 2008 R2数据库,并添加了以下两个表:
接下来,我从数据库生成了.edmx实体模型,并按照顶部的链接逐字.也就是说,我删除了User和Customer之间的关联,将User设置为Customer的基类,从Customer实体中删除了Id属性,并确保Customer.Id列已映射到继承的User.Id属性.然后我运行了以下小程序:
using (var db = new EF_Test.testEntities())
{
var cust = db.Users.CreateObject<Customer>();
db.Users.AddObject(cust);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我得到了与上述相同的例外情况.如果这个repro对你有用,请告诉我,如果有,那我做错了.我在这个问题上被封锁了.
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |