Mocking DbContext.Set<T>()?

Sind wir mit EF Code first, und ein data-Kontext für unser sales-Datenbank. Darüber hinaus haben wir eine Klasse, die sitzt oben auf unsere Daten-Kontext und stellt einige grundlegende CRUD-Operationen.

Haben wir z.B. die folgende Funktion:

public static T Create<T>(int userId, T entity) where T : class, IAllowCreate
{
    if (entity == null)
        throw new ArgumentNullException("entity");

    using (SalesContext dc = new SalesContext())
    {
         dc.Set<T>().Add(entity);
         dc.SaveChanges();

         return entity;
    }
}

Fand ich ein Beispiel wie erstellen gefälschte Kontexten und IDBset Eigenschaften. Ich begann mit der Umsetzung, aber ich lief in ein Problem.

Verwenden wir dc.Set() Recht liberal (wie oben gesehen) in unserem code, wie wir versuchen, zu erstellen, die generische CRUD-Methoden. Anstatt ein ReadCustomer, ReadContact etc, die wir gerade tun, Lesen(). Jedoch, dc.Setzen gibt eine DbSet, nicht ein IDbSet, so bin ich nicht in der Lage zu verspotten, die.

Hat sich schon jemand in der Lage, zu verspotten oder gefälschte DbContext und noch verwenden Sie die Set-Funktionalität?

InformationsquelleAutor taylonr | 2011-02-15
Schreibe einen Kommentar