我正在使用實體框架代碼的第一種方法,並且我正在構建一個提供數據訪問的通用Repository類。在這門課我想要一個Add(T entity)
方法。然而,沒有InsertOnSubmit
方法爲DbSet<T>
類的一部分,如果我嘗試使用Add
方法,我得到一個編譯時錯誤:InsertOnSubmit等效於DbContext.DbSet使用Entity Framework 4代碼優先
The type 'TEntity' must be a reference type in order to use it as parameter 'TEntity' in the generic type or method 'System.Data.Entity.DbContext.Set<TEntity>()'
這是方法:
public TEntity Add(TEntity entity)
{
return _database.Set<TEntity>().Add(entity);
}
任何人都知道解決這個問題的方法嗎?
感謝
供個人使用的,我可以問你什麼「_database」是在您的應用程序?我試圖做一個像你的方法,它抱怨Set方法..預先感謝您! – 2011-05-14 19:02:47
yeh man,_database字段的類型是DbContext,它在實體框架中找到。看看ScotGu的博客關於使用實體框架4代碼的第一種方法,它非常簡單:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework -4.aspx – jcvandan 2011-05-16 08:44:36
謝謝。我讀一個..我有一個獎金問題:P .Set方法,那是什麼代碼?我用快速的方式說了一句,並沒有發現那種方法。這是我完成項目所需的代碼的最後一部分。如果您向我發送了.Set方法代碼,您非常歡迎收到我的郵件。 :D – 2011-05-16 17:25:23