因此,我目前正在开发的这个项目正在使用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);
我甚至竟然检查了平等性,并且它们在成员方面至少完全相同。有人可以向我解释一下这里发生了什么吗?
似乎幕后有很多魔法,我不喜欢我的代码中的魔法。科学更容易调试。