Hen*_* Wu 7 entity-framework ef-code-first
是否可以在EF Code-First中更新而不使用存根对象查询db中的整行,...
例如
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();
Run Code Online (Sandbox Code Playgroud)
上面的代码是否会创建一个Update Statement,它会使DinnerID 1行的以下列为null?
标题,EventDate,地址,国家
有没有像"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();
}
Run Code Online (Sandbox Code Playgroud)
ApplyCurrentValues将标量值从现有对象复制到图中的对象(在上述情况下 - 存根实体)。
来自MSDN 上的备注部分:
与对象的原始值不同的任何值都被标记为已修改。
这就是你的追求吗?
归档时间: |
|
查看次数: |
3678 次 |
最近记录: |