实体框架继承EntityKey不为null问题

时间:2012-01-29 20:02:01

标签: .net entity-framework

我正在使用每个层次结构表的方法尝试VS 2010 .NET 4 + EF继承。

我的课程 A定义为抽象类B和C具体实现A 。 B和C没有属性(尚未)。属性映射在A中定义。我还定义了鉴别器(int类型),因此EF可以判断B和C之间的差异。

我遇到的问题是,当我尝试保存B或C的实例时,我收到以下错误: 只有在属性的当前值为null时才能设置EntityKey属性。

这是我正在运行的代码:

A newInstance = CreateB(...); //creates a B type instance and assigns properties.
 using (var context = new myObjectContext())
        {
            context.ASet.AddObject(newInstance);

            int changes = context.SaveChanges();


        }

此行发生错误:

  

context.ASet.AddObject(的newInstance);

使用调试模式我发现newInstance.EntityKey设置了一个值,我认为这是错误的。

有没有人知道为什么EntityKey在处理继承时有一个除null之外的值,而在没有涉及继承时就是null(即独立实体)?

我可以做些什么来完成这项工作?

感谢。

0 个答案:

没有答案