2016-09-23 84 views
0

我使用EntityFramwork 6,並試圖實現一個通用存儲庫模式,當我得到這個錯誤:不包含「CreateObjectSet」,沒有擴展方法的定義「CreateObjectSet」

DBEntities不包含'CreateObjectSet'的定義,並且沒有擴展方法'CreateObjectSet'的 。

下面是代碼:

private DBEntities entities = null; 
    IObjectSet<T> _objectSet; 

    public GenericRepository(DBEntities _entities) 
    { 
     entities = _entities; 
     _objectSet = entities.CreateObjectSet<T>(); 
    } 

這裏是DBEntities'代碼:

public partial class DBEntities : DbContext 
    { ... } 
+5

讓自己瞭解DbContext API。 'CreateObjectSet'是不贊成使用的'ObjectContext' API的一部分。今天它是'Set ()'。 –

+0

'CreateObjectSet'是'ObjectContext'的成員。什麼是'DBEntities'?那是'DbContext'嗎? – Amy

回答

0

我想這是你正在嘗試做的,這是在做正確EF6方式它與DbContext。

public class GenericRepository<T> where T : class 
{ 
    private DbContext _context = null; 
    private DbSet<T> _entities = null; 

    public GenericRepository(DbContext context) 
    { 
     _context = context; 
     _entities = context.Set<T>(); 
    } 
} 
相關問題