我目前有这种方法更新我的大学对象,然后保存更改。
public static int Update(Models.University uni)
{
using (var ctx = new ApplicationDbContext())
{
var x = (from y in ctx.Universities
where y.Id == uni.Id
select y).FirstOrDefault();
x.PrincipleName = uni.PrincipleName;
return ctx.SaveChanges();
}
}
有没有办法保存整个对象而不是设置每个属性?
例如类似的东西(我试过这个,但更新失败了):
public static int Update(Models.University uni)
{
using (var ctx = new ApplicationDbContext())
{
var x = (from y in ctx.Universities
where y.Id == uni.Id
select y).FirstOrDefault();
x = uni;
return ctx.SaveChanges();
}
}
答案 0 :(得分:2)
如果uni
也是一个实体,那么您只需将其附加到上下文
ctx.Universities.Attach(uni);
// set the state of the entity to modified so changes are saved
ctx.Entry(uni).State = EntityState.Modified;
ctx.SaveChanges();