저는 Tim McCarthy의 awesome book on DDD in .NET을 읽었습니다. 그러나 그의 예제 애플리케이션에서는 그의 기본 데이터 액세스가 SqlCE를 사용하고 있으며 SQL 인라인을 손수 제작하고 있습니다.DDD 기반 계층화 된 아키텍처에서 Model & DataAccess 레이어간에 LINQ를 사용하기위한 권장 패턴이 있습니까
저는 Entity Framework를 활용하기 위해 몇 가지 패턴을 사용해 왔지만 IRepository linq 쿼리를 기본 데이터 액세스 레이어에 정확히 매핑하는 방법에 대해 고민하고 있습니다.
나는 구체적인 저장소 구현을 가지고있다. 내 EF 모델에서
public EFCustomerRepository : IRepository<DomainEntities.Customer>
{
IEnumerable<DomainEntities.Customer> GetAll(
Expression<Func<DomainEntities.Customer, bool>> predicate)
{
//Code to access the EF Datacontext goes here...
}
}
, 나는 POCO 엔티티를 사용하고 있지만 내 DomainEntity.Customer & 내 DataAccessLayer.Customer 객체 사이의 기본 매핑 할 수없는 것으로거야 심지어 있도록.
그래서 난 그냥 Expression<Func<T, bool>> predicate
=>Expression<Func<TOTHER, bool>> predicate
아니면 내가 이것에 대해 갈거야 모든 잘못을지도 할 수있는 쉬운 방법이있는 EFContext.Customers.Where(...);
에 대한 매개 변수로 Expression<Func<DomainEntities.Customer, bool>> predicate
을 전달할 수 없습니다? 제안/의견을 보내 주시면 감사하겠습니다.
도메인 개체 * 및 * 데이터 레이어 개체를 사용 하시겠습니까? 이것은 특히 POCO 엔티티를 사용하기 때문에 중복되는 것처럼 보입니다. AFAIK DDD에 대한 전체적인 생각은 도메인에 대해 하나의 정의를 정의하고 전체 응용 프로그램에서 사용할 수있게하는 것입니다. – Steven