gpt4 book ai didi

entity-framework - 通过 stub 实体进行 Entity Framework 代码首次更新

转载 作者:行者123 更新时间:2023-12-03 07:37:48 24 4
gpt4 key购买 nike

是否可以在 EF Code-First 中通过使用 stub 对象来更新而不查询数据库中的整行,...

例如

public class Dinner 
{
public int DinnerID { get; set; }
public string Title { get; set; }
public DateTime EventDate { get; set; }
public string Address { get; set; }
public string Country { get; set; }
public string HostedBy { get; set; }
}



Dinner dinner = dinner.DinnerID = 1;
dinner.HostedBy = "NameChanged"
nerdDinners.SaveChanges();

上面的代码是否会创建一条更新语句,使dinnerID 1 行的以下列为空?

Title, EventDate, Address, Country

是否有一种方式或方法,例如“PropertyModified”= true,然后其余的使它们= false,以便 HostedBy 是唯一会更新的?

最佳答案

认为您正在寻找 ApplyCurrentValues

public void UpdateDinner(Dinner existingDinner)
{
var stub = new Dinner { DinnerId = existingDinner.DinnerId };
ctx.Dinners.Attach(stub);
ctx.ApplyCurrentValues(existingDinner);
ctx.SaveChanges();
}

ApplyCurrentValues标量值从现有对象复制到图中的对象(在上述情况下 - stub 实体)。

来自 MSDN 上的备注部分:

Any values that differ from the original values of the object are marked as modified.

这就是你所追求的吗?

关于entity-framework - 通过 stub 实体进行 Entity Framework 代码首次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com