我正在使用实体框架代码的第一种方法,并且我正在构建一个提供数据访问的通用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