문제

ORM없이 도메인 모델을 리베리하는 도메인 모델을위한 저장소를 만드는 것이 매우 간단하다는 것을 알고 있습니다.LINQ 또는 기타 ORM이없는 저장소 패턴?). 그러나 도메인 모델과 내부 객체 그래프를 저장하는 것은 어떻습니까?

public class Car: IAggregateRoot, IEntity, ICar
{
  public IEnumerable<IWheel> Wheels {get; set;}
}

public class CarRepository
{
  public void Save(ICar car) 
  {
    // calls Dao
    // update/insert all wheels as required
    // update/insert car as required
  }
}

여기서 우리는 변화 추적 등을 취해야합니다. 어떻게 그것을 구현하려고합니까?

특정 구현을 위해 LINQ를 SQL로 처리하여 DAO로 처리합니다. LINQ에서 SQL은 추적을 변경하지만 내가 만든 도메인 모델은 그렇지 않습니다. 그것들은 직선 Poco이며 LINQ에서 SQL에 직접 매핑되지 않습니다. 모든 것은 사용자 정의 데이터 퍼스에 의해 이루어집니다

public class CarDataMapper : IMapper<LinqData.Car, Domain.ICar>
{
  public ICar Map(LinqData.Car linqCar)
  {
    ICar = new Car () { Wheels = linqCar.Wheels.Select( w => new WheelDataMapper().Map(w));
  }
}

LINQTOSQL 또는 NHibernate를 도메인 레이어에 노출시키지 않고 객체 그래프를 저장하기 위해 저장소를 구현하는 간단한 방법이 있습니까? 아니면 여기서 뭔가를 놓치고 있습니까?

도움이 되었습니까?

해결책

나는 해결책을 찾기 위해 너무 고군분투하고있다 ..

ORM이없는 DDD, 가능합니까 .. 봐 http://solveme.wordpress.com/2009/11/11/ddd-without-any-orm-tool-is-is-possible/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top