我有一個場景,我必須更新實體,如果它存在或添加一個新的,如果它不。實體框架:更新實體或添加,如果它不存在
我想爲此執行一個單一的方法(如果它是單次訪問服務器,那將會很棒)。
在EF中是否有類似的東西?
現在我的代碼如下所示:
var entity = db.Entities.FirstOrDefault(e => e.Id == myId);
if (entity == null)
{
entity = db.Entities.CreateObject();
entity.Id = myId;
}
entity.Value = "my modified value";
db.SaveChanges();
但我想避免的第一個查詢,像這樣:
var entity = new Entity();
entity.Id = myId;
entity.Value = "my modified value";
db.AddOrAttach(entity);
db.SaveChanges();
有什麼相似?還是必須執行第一個查詢?
謝謝
我的問題來看看這樣做一般的保存與EF:http://stackoverflow.com/questions/6018711/generic-way-to-check-if-entity-exists-in-entity-framework的結果這是(根據需要插入或更新)寫一個通用的保存方法。它很快變得混亂。 – Yuck