문제

다음에 대한 조언을 찾고 있습니다.

데이터베이스와 웹 서비스간에 교환 할 수있는 DAL을 만들어야합니다. C# 및 WPF에서 개발 중입니다.

누구든지 iunitofwork의 좋은 구현을 보았으며 다른 DAL이 어떤 종류의 DI를 사용하여 전환 또는 출력 할 수 있습니까?

편집하다

그래서 독서를 한 후. 저장소 패턴을 사용하기로 결정했습니다. 담당자 패턴은 iunitofwork를 사용합니다. 위의 반대편은 주변을 읽습니다. 또한 여기에 스위치를 들어 올리거나 나가는 것이 무엇을 의미하는지에 대한 예가 있습니다.

NHibernateProductRepository : IRepository<Product>  
{
    private IUnitOfWork _unitOfWork = null;

    public NHibernateProductRepository(IUnitOfWork unitOfWork)
    {
        _unitOfWork = unitOfWork;    
    }
}

WebServiceProductRepository : IRepository<Product>  
{
    private IUnitOfWork _unitOfWork = null;

    public WebServiceProductRepository (IUnitOfWork unitOfWork)
    {
        _unitOfWork = unitOfWork;    
    }
}

....

public static class Bootstrapper 
{
     public static void Load() 
     {
         // Some sort of IOC.. Which will also be used for DI. 
     }
}

그래서 나는 iunitofwork 물건에 대한 도움이 필요하다고 생각합니다. 웹 서비스 저장소는 까다로울 것입니다. 그래서 어떤 종류의 트랜잭션을 만드는 방법과 대기열 등을 어떻게합니까?

마지막으로, WPF 환경에서 여러 스레드가 데이터베이스에 물건을 저장할 수 있으므로 각 스레드마다 자체 단위 작업을 만들어야합니까? 나는 실이 다른 등을 통해 반쯤 커밋 할 수 있다고 무서워한다.

도움이 되었습니까?

해결책

체크 아웃해야합니다 SharparChitecture nhibernate와 함께 가면. Contrib Project에는 시나리오가 포함되어 있습니다.

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