幾天前我閱讀關於GenericRepository和Unit Of Work模式的教程http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application。我使用網絡表單,並安裝了EntityFramework CTP4軟件包。 (我不能使用EF 5)。EntityFramework 4,DbSet和ObjectContext
我想爲我的項目代碼庫的通用,但我被困在這條線:
this.dbSet = context.Set<TEntity>();
我知道這行不工作,因爲在我的項目和數據庫第一種方法使用一個ObjectContext的。我該如何處理它?我可以編寫通用存儲庫,而不首先遷移到代碼(在我的情況下,這不是一個選項)?
感謝您的幫助。 現在這將創建一個ObjectSet而不是一個DbSet ,但對於您的模式,您可以以相同的方式使用它。 我在這行找到方法有問題: dbSet.Find(id); 我如何使用ObjectSet對其進行編碼? –
mrrobot
2012-03-22 19:19:58
因此,如果在ObjectSet中通過Id查找這麼困難,爲什麼不使用DbContext?我想知道應該使用哪種方法,嘗試創建find方法,或者我應該使用DbContext?到目前爲止,在這個項目中我還沒有寫太多代碼,所以使用DbContext可能更好?你能否提出你的看法?謝謝 – mrrobot 2012-03-22 21:23:45
在我開始申請時,EF Code First還沒有發佈。根據Ropstah的回答,它看起來有些模板可用於爲Model First或Database First應用程序生成Code First樣式類。我從來沒有嘗試過這種方法,所以我真的無法說出它是否有效。 – CodingGorilla 2012-03-23 02:43:02