EF AddOrUpdate问题

时间:2015-11-10 22:16:35

标签: c# entity-framework

使用AddOrUpdate时是否可以忽略某个值?

此外,匹配值并决定要更改的内容时,它会查找哪些值。我试过阅读this article,但显然它没有帮助。

假设我在db中有两个对象(我意识到这不是真正的代码):

Obj1.fieldA == 1, Obj1.fieldB == 2, Obj1.fieldC == 5
Obj1.fieldA == 1, Obj1.fieldB == 3, Obj1.fieldC == 6

然后我尝试AddOrUpdate一个匹配两者的对象:

Obj3.fieldA == 1, Obj3.fieldB == 2, Obj3.fieldC == 6

如何决定更新哪一个,如果有的话/两者?

根据与Id相关的评论/答案进行编辑,我不会指定。

var someGroup = new API.Models.Group
                {
                    Name = "Blah"
                    Organization = "Blabedy blah",
                    Description = "Blah blah"
                }

db.Groups.AddOrUpdate(someGroup);

id属性存在但是自动生成:

// Id
[Key]
public long Id { get; set; }

1 个答案:

答案 0 :(得分:2)

  

如何决定更新哪一个,

它将使用匹配的主键更新记录。例如,如果主键是由fieldAfieldB组成的复合键,那么它将匹配第一个记录并更新fieldC