【发布时间】:2011-08-07 03:06:11
【问题描述】:
在您的服务层公开 DbContext 是一种不好的做法吗?
例如:
private readonly IRepository<SkillLevels> _repository;
private readonly IDatabaseFactory _databaseFactory;
private readonly IUnitOfWork _unitOfWork;
public SkillLevelService(IRepository<SkillLevels> repository, IDatabaseFactory databaseFactory, IUnitOfWork unitOfWork)
{
_repository = repository;
_databaseFactory = databaseFactory;
_unitOfWork = unitOfWork;
}
public void InsertSkillLevel(SkillLevels entity)
{
_repository.Insert(entity);
_unitOfWork.Commit();
}
在这里,IDatabaseFactory 可以返回我的 DbContext 对象。我在这里公开它是因为如果我需要 SkillLevels 以外的其他实体,以便我可以在这个服务类中使用它们。如果您知道,对于需要选择多个表来获取数据的复杂查询。
但我不确定这是否是一种不好的做法!
感谢任何帮助。谢谢。
【问题讨论】:
标签: asp.net-mvc-3 entity-framework-4 service-layer dbcontext