작업 단위의 중요성을 나에게 알릴 수 있습니까?단일 작업을 수행 할 수있는 작업 단위는 어떻게됩니까?
내가 거래
중 하나가 예를 들어 줄 경우 그것은 정말 좋은 것위한 작업 단위의 정확한 의미 understance 없습니다 - 그것은 거래에 유용 방법에 대해 설명합니다. 작업 클래스의
내 단위는 다음과 같다 :
public class UnitOfWork : IUnitOfWork
{
private readonly IDataContext _dataContext;
private Dictionary<string, object> _repositories;
public UnitOfWork(IDataContext dataContext)
{
_dataContext = dataContext;
}
public int SaveChanges()
{
return _dataContext.SaveChanges();
}
public IRepository<TEntity, TKey> GetRepository<TEntity, TKey>() where TEntity : class
{
if (_repositories == null)
{
_repositories = new Dictionary<string, object>();
}
string key = String.Format("{0}|{1}", typeof(TEntity).Name, typeof(TKey).Name);
if (_repositories.ContainsKey(key))
{
return (IRepository<TEntity, TKey>)_repositories[key];
}
Type repositoryType = typeof(Repository<TEntity, TKey>);
_repositories.Add(key, Activator.CreateInstance(repositoryType, _dataContext));
return (IRepository<TEntity, TKey>)_repositories[key];
}
}
도움이 될 것입니다 당신에게
모든 예 감사합니다.
업데이트 :
Suppose -
_unitOfWork.GetRepository<ModelObject, int>().Update(MOdelObject);
_unitOfWork.GetRepository<ModelObject, int>().Delete(MOdelObject);
문제는 다음 두 번째 문에 발생하면, 먼저 문 롤백 할 것인가?
위와 같이 몇 가지 예를 들려주세요. 어떻게 작동하는지 이해할 수 없습니까?
가 쉽게 사용할 수 온라인 "작업 단위"의 매우 간결한 정의는 다음과 같습니다 : http://martinfowler.com/eaaCatalog/unitOfWork.html 당신이 그것에 대해 이해하지 못하는 특정한 것이 있습니까? – David
몇 가지 세부적인 내용으로 질문을 업데이트했습니다. – user3711357