2016-09-23 5 views
0

Ich verwende EntityFramwork 6 und ich diesen Fehler, wenn ein allgemeines Repository-Muster zu implementieren versuchen:keine Definition für ‚CreateObjectSet‘ enthalten und keine Erweiterungsmethode ‚CreateObjectSet‘

DBEntities nicht enthält eine Definition für 'CreateObjectSet' und keine Erweiterungsmethode 'CreateObjectSet' .

Hier ist der Code:

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

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

Hier Code DBEntities:

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

Holen Sie sich einen Überblick über die DbContext-API. 'CreateObjectSet' ist Teil der veralteten 'ObjectContext'-API. Heute ist es Set () '. –

+0

'CreateObjectSet' ist ein Mitglied von' ObjectContext'. Was ist 'DBEntities'? Ist das ein 'DbContext'? – Amy

Antwort

0

Ich denke, das ist, was Sie zu tun versuchen, ist dies die richtige EF6 Art und Weise zu tun, es mit 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>(); 
    } 
} 
Verwandte Themen