C# 了解实体框架如何添加对象
所以,我目前正在做的这个项目使用EntityFramework4.0。升级不是一个选项,但我有相当大的问题,我似乎无法理解。比如,如果我尝试添加一个新对象,但不指定实体键,它就可以正常工作。然而,再次运行相同的代码时,它会抱怨密钥丢失。所以,我把它加进去。除此之外:C# 了解实体框架如何添加对象,c#,entity-framework,C#,Entity Framework,所以,我目前正在做的这个项目使用EntityFramework4.0。升级不是一个选项,但我有相当大的问题,我似乎无法理解。比如,如果我尝试添加一个新对象,但不指定实体键,它就可以正常工作。然而,再次运行相同的代码时,它会抱怨密钥丢失。所以,我把它加进去。除此之外: fac.EntityKey = new EntityKey() { EntitySetName = "Context.Members", EntityKeyValues = new List&
fac.EntityKey = new EntityKey()
{
EntitySetName = "Context.Members",
EntityKeyValues = new List<EntityKeyMember>()
{
new EntityKeyMember()
{
Key = "MemberID",
Value = fac.MemberID
}
}
};
我甚至还检查了平等性,至少在成员方面是完全相同的。有人能给我解释一下这里到底发生了什么吗
似乎有很多魔术在幕后进行,我不喜欢我的代码中的魔术。科学更容易调试。你甚至不能升级到最高的4版本吗?(EF 4.3.1)。当EF超过4.0时,我开始使用它,我不记得曾经需要操作EntityKeys。4.0不是在引擎盖下做的吗?
fac.EntityKey = new EntityKey("Context.Members", "MemberID", fac.MemberID);