簡體   English   中英

實體框架6手動更新記錄

[英]Entity Framework 6 Updating a record manually

我正在使用EF 6和WPF。 由於我必須處理大量的DataSet,因此我必須對查詢使用AsNoTracking() 因此,更新任何條目現在都是ViewModel的責任。 我正在使用repository pattern ,我正在考慮在generic repository中實現一個方法,如下所示:

virtual public void Update(T updatedentity)
{
    _ctx.Set<T>().Attach(updatedentity);
    _ctx.Entry(updatedentity).State = EntityState.Modified;
}

這是一個好主意嗎? 這種方法的優點和缺點是什么? 最后,是否會有重大的性能影響? 需要注意的是,我的大多數實體最多有15-20個屬性。

是的,您可以/應該附加數據庫中已存在的實體,然后將其狀態設置為Modified將強制更新所有T實體屬性。

你可以在這里閱讀Attach方法的一個很好的解釋: 實體框架4 - AddObject vs Attach請同時閱讀EntityState.Modified的可能影響@Gert答案: 實體框架 - 為什么要明確地將實體狀態設置為修改?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM