我在我的数据模型中实现了一些每种类型的表继承(基本上有一个BaseEntity
类型,包含我的项目的所有基本信息和从BaseEntity
项目继承的Employer
类型)。一切似乎设置正确,当使用实体(通过ADO.net数据服务或通过Linq实体),我可以看到Employer
类型,似乎没有问题。当我创建一个新的Employer
实体并尝试保存它时,问题就开始了。无法保存实体框架继承的类型
在似乎不是.AddToEmployer
项目(仅限于和AddObject
或AddToBaseEntity
)的上下文中。
如果我使用AddObject("Employer", NewEmployer)
我得到和错误消息:
的EntitySet的名称“DataEntities.Employer”找不到。
如果我使用AddToBaseEntity(NewEmployer)
我得到一个错误信息:
无法确定相关的操作有效的排序。由于外键约束可能存在依赖关系,所以模型需求会产生生成的值。
我错过了设置继承的步骤吗?有没有一些特定的方法来保存被继承的对象?我究竟做错了什么?我认为基本问题是我应该有一个AddToEmployer
,我需要做些什么才能让它暴露出来?看起来很奇怪,因为我可以在客户端看到Employer类型,并且可以执行诸如以下操作,这似乎很奇怪:
var NewEmployer = new Employer()
- 这似乎表明我可以看到Employer类型正常。
作为一个说明,我忘了提及 - 实现IDisposable使这真的很好。 – JohnMetta 2010-12-23 20:16:39