Tim*_*thy 12 c# linq entity-framework-4 asp.net-web-api2
我正在使用EF和WEB API.我有一个PUT方法,它更新已经在db中的实体.现在我有这个:
// PUT api/fleet/5
public void Put(Fleet fleet)
{
Fleet dbFleet = db.Fleets.Find(fleet.FleetId);
dbFleet.Name = fleet.Name;
dbFleet.xy= fleet.xy;
//and so on....
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
但我很懒,只想写下这样的东西:
dbFleet.update(fleet);
Run Code Online (Sandbox Code Playgroud)
所以我不必自己更新每个房产.
我确信有一种方法,但我只能找到关于如何使用MVC做到这一点的答案,但不能在使用WEB API而不是接收模型状态时找到答案.
谢谢
dar*_*yal 20
db.Fleets.Attach(fleet);
db.Entry(fleet).State = EntityState.Modified;
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
刚刚找到答案......
// PUT api/fleet/5
public void Put(Fleet fleet)
{
db.Entry(fleet).State = EntityState.Modified;
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我唯一不满意的是它不会更新子对象.Fleet有FleetAttributes,没有像这样更新.但我想我可以轻松循环它们......
编辑这对我有用:
// PUT api/fleet/5
public void Put(Fleet fleet)
{
db.Entry(fleet).State = EntityState.Modified;
foreach (var item in fleet.FleetAttributes)
{
db.Entry(item).State = EntityState.Modified;
}
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8505 次 |
最近记录: |