저장소 및 작업 단위와 함께 EntityFramework 패턴을 구현했습니다. 구현은 Code Project Repository Example과 유사하지만 작업 단위에 대한 향상이 필요합니다. 일반 작업 단위
public class GenericUnitOfWork : IDisposable
{
// Initialization code
public Dictionary<Type, object> repositories = new Dictionary<Type, object>();
public IRepository<T> Repository<T>() where T : class
{
if (repositories.Keys.Contains(typeof(T)) == true)
{
return repositories[typeof(T)] as IRepository<T>
}
IRepository<T> repo = new Repository<T>(entities);
repositories.Add(typeof(T), repo);
return repo;
}
// other methods
}
UOW에 위의 작업
의단위는 조용 일반화하고 항상 부모에게 저장소 클래스를 대상으로합니다. 나는 또 다른 엔티티, 예를 들어 student를 가지고 있는데, 이는 리포지토리 클래스를 확장하는 자체 저장소를 가지고 있습니다. 학생용 저장소에는 "GetStudentMarks()"메소드가 있습니다. 이제는 항상 부모 저장소를 가리키기 때문에 일반 작업 단위 클래스를 사용할 수 없습니다.
이러한 상황을 처리하기위한 일반적인 작업 단위 (Unit of Work)를 구현하는 방법은 무엇입니까? 미리 감사드립니다.
문제는 일이 개발자는 소원을 기반으로 수업을 만드는 경향이 있습니다. 그래서 저는 그것을 막으려 고 했으므로보다 일반적인 UoW가 필요했습니다. –