Existe un proveedor en memoria para Entity Framework?

Soy un código de prueba de unidad escrito en el marco de la entidad ADO .NET. Me gustaría llenar una base de datos en memoria con filas y asegurarme de que mi código las recupere correctamente.

Puedo burlarme del Entity Framework usando Rhino Mocks, pero eso no sería suficiente. Le diría a la consulta qué entidades me devolverán. Esto no probaría la cláusula where ni las instrucciones .Include (). Quiero asegurarme de que mi cláusula where solo coincida con las filas que pretendo y no con otras. Quiero estar seguro de que he pedido las entidades que necesito y ninguna que no necesite.

Por ejemplo

class CustomerService
{
    ObjectQuery<Customer> _customerSource;
    public CustomerService(ObjectQuery<Customer> customerSource)
    {
        _customerSource = customerSource;
    }
    public Customer GetCustomerById(int customerId)
    {
        var customers = from c in _customerSource.Include("Order")
            where c.CustomerID == customerId
            select c;
        return customers.FirstOrDefault();
    }
}

Si me burlo de ObjectQuery para devolver un cliente conocido poblado con pedidos, ¿cómo sé que CustomerService tiene el derecho donde la cláusula e Incluir? Prefiero insertar algunas filas de clientes y algunas filas de pedidos, luego afirmar que se seleccionó el cliente correcto y que se completan los pedidos.

Respuestas a la pregunta(8)

Su respuesta a la pregunta