天天看點

EF如何正确的進行實體中修改

不推薦方式一:

思路:先從ObjectContext取出實體,然後将前台傳過來的DTO屬性對應指派到我們的實體上,然後調用ObjectContext的保證修改方法。

但是這種方式是最不提倡的,因為這樣每次修改前都得先将資料查出來,經過SqlProfiler追蹤,這麼一個操作要對資料庫進行兩次的連接配接。這是不可忍受的!

推薦方式二:

思路:無需先查出實體,因為我們知道EF通過ObjectStateManage來控制添加、修改、删除隊列以及實體的狀态,我們所有可以通過在直接将DTO轉化成實體,然後将實體對應的隊列中,并 且我們手動的将實體的狀态處理好,再調用ObjectContext的保證修改方法,這樣就避免了先查詢後修改,兩次資料庫連接配接的問題了。執行個體代碼如下:

EF直接更新資料(不需查詢)

<a href="http://jameszou.blog.51cto.com/2173852/1152743/" target="_blank">http://jameszou.blog.51cto.com/2173852/1152743/</a>

EF 增删改

<a href="http://www.cnblogs.com/gaobing/p/6001031.html" target="_blank">http://www.cnblogs.com/gaobing/p/6001031.html</a>