gpt4 book ai didi

.net - 如何在领域层使用工作单元

转载 作者:行者123 更新时间:2023-12-03 09:27:27 27 4
gpt4 key购买 nike

我正在尝试在“我的服务”类中使用工作单元模式。
我有我的 CompanyService 类

public class CompanyService: ICompanyService
{
private readonly ICompanyRepository _companyRepository;

public CompanyService(ICompanyRepository companyRepository)
{
_companyRepository = companyRepository;
}

public void CreateCompany(Company company)
{
_companyRepository.Add(company);
//I want to have unit of work commit here!!!
//unitofwork.commit();
}

public void UpdateCompany(Company company)
{ etc...}

如果我的 IUnitOfWork 位于我的数据层而不是域层,我如何在我的 ServiceClass 中注入(inject) UnitOfWork 的实例?我的域层中应该有 IUnitOfWork 吗?我只是觉得这听起来不对......

最佳答案

Should i have an IUnitOfWork in my Domain Layer?

如果您的领域层需要它,那么答案肯定是:是的。

域层应该包含它工作所需的一切。您唯一需要记住的是,该层不应引用任何外部库,也不应与任何技术特定实现相关联。

您的IRepositoryIUnitOfWork的具体实现将位于基础设施/数据层中的某个位置,您可以在其中引用您想要的任何框架( Entity Framework ,...)

看看这个 SO answer我在其中解释了域层中需要放置的内容(这是一个与洋葱架构相关的问题,但并不重要)。
看看这个 SO answer在这里您将找到一种轻松实现 UnitOfWork 和存储库模式的方法。

关于.net - 如何在领域层使用工作单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com