![](/img/trans.png)
[英]Updating a record using Entity Framework context without manually setting properties
[英]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.