了解实体框架如何添加对象

时间:2014-02-17 07:15:02

标签: c# entity-framework

因此,我目前正在开发的这个项目正在使用Entity Framework 4.0。升级不是一种选择,但我有一些相当重要的问题,我似乎无法理解。比如,如果我尝试添加一个新对象,并且没有指定实体密钥,它就可以正常工作。然而,再次运行相同的代码,它会抱怨密钥丢失。所以,我把它添加进来。除了这个奇怪之处:<​​/ p>

fac.EntityKey = new EntityKey()
    {
        EntitySetName = "Context.Members",
        EntityKeyValues = new List<EntityKeyMember>()
            {
                 new EntityKeyMember()
                      {
                          Key = "MemberID",
                          Value = fac.MemberID
                      }
            }
    };

上面的代码 - 不起作用。它会引发EntitySetName无效的异常。 但是,下面的代码 - 工作。

fac.EntityKey = new EntityKey("Context.Members", "MemberID", fac.MemberID);

我甚至竟然检查了平等性,并且它们在成员方面至少完全相同。有人可以向我解释一下这里发生了什么吗?

似乎幕后有很多魔法,我不喜欢我的代码中的魔法。科学更容易调试。

0 个答案:

没有答案