Есть ли предложенный шаблон для использования LINQ между уровнями модели и доступа к данным в многоуровневой архитектуре на основе DDD

Я читал замечательную книгу Тима Маккарти по DDD в .NET . Однако в его примере приложения его базовый доступ к данным использует SqlCE, и он вручную создает встроенный SQL.

Я играл с некоторыми шаблонами для использования Entity Framework, но я застрял на том, как именно сопоставить запросы IRepository linq к базовому уровню доступа к данным.

У меня есть конкретная реализация репозитория.

public EFCustomerRepository : IRepository 
{
    IEnumerable GetAll(
                     Expression> predicate)
    {
        //Code to access the EF Datacontext goes here...
    }
}

В моей модели EF я использую объекты POCO, но даже в этом случае не будет собственного сопоставления между моим DomainEntity.Customer и моим DataAccessLayer .Customer.

, поэтому я не могу просто передать Expression > predicate в качестве параметра для EFContext.Customers.Where (...) ;

Есть ли простой способ отобразить Выражение > predicate => Выражение > predicate

Или я все не так? Любые предложения / указатели приветствуются.

7
задан Ladislav Mrnka 10 August 2011 в 13:49
поделиться