Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 了解实体框架如何添加对象_C#_Entity Framework - Fatal编程技术网

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

C# 了解实体框架如何添加对象,c#,entity-framework,C#,Entity Framework,所以,我目前正在做的这个项目使用EntityFramework4.0。升级不是一个选项,但我有相当大的问题,我似乎无法理解。比如,如果我尝试添加一个新对象,但不指定实体键,它就可以正常工作。然而,再次运行相同的代码时,它会抱怨密钥丢失。所以,我把它加进去。除此之外: fac.EntityKey = new EntityKey() { EntitySetName = "Context.Members", EntityKeyValues = new List&

所以,我目前正在做的这个项目使用EntityFramework4.0。升级不是一个选项,但我有相当大的问题,我似乎无法理解。比如,如果我尝试添加一个新对象,但不指定实体键,它就可以正常工作。然而,再次运行相同的代码时,它会抱怨密钥丢失。所以,我把它加进去。除此之外:

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);