假設我們已經創建了實體模型,那麼使用它的首選方法是什麼?我個人無法彌補我的心..使用實體框架,首選方式?
使用ModelAdapter:
public statiс Product[] GetProducts() { using(Entities ctx = new Entities()) { return ctx.Product.ToArray(); } } Product[] ps = ModelAdapter.GetProducts(); // ... ModelAdapter.UpdateProduct(p);
- 看起來整潔;
- 但是,有時會創建/釋放上下文,對象會與上下文失去聯繫;
到位使用上下文:
using(Entities ctx = new Entities()) { Product[] ps = ctx.Product.ToArray(); // ... ctx.SaveChanges(); }
- 有效
- 但是,代碼變得凌亂
混合模式,妥協?
擴展方法:
using(Entities ctx = new Entities()) { Product[] ps = ctx.GetProducts(); // ... ctx.UpdateProduct(p); }
其實現在,我想辦法#4,實施實用方法,如擴展上下文。所以我可以使用一個上下文,並對這個上下文進行多次調用。
謝謝@拉迪斯拉夫!這絕對是一個很好的問題包裝。鏈接中和周圍的許多有用的信息。 – 2011-05-12 08:27:16