是否可以将Linqpad与Repository和UnitOfWork模式一起使用?
本文关键字:模式 UnitOfWork 一起 Repository Linqpad 是否 | 更新日期: 2023-09-27 18:06:53
在我的控制器中,我按如下方式初始化我的工作单元和存储库模式:
private readonly IUnitOfWork _unitOfWork;
private readonly IRepository<Website> _repository;
public ProjectsController() { }
public ProjectsController(IUnitOfWork unitOfWorkAsync,
IRepository<Website> repository)
{
_unitOfWork = unitOfWorkAsync;
_repository = repository;
}
我的基本用法如下:
var website = _repository
.Query()
.Select()
.Single(u => u.UserId == userId && u.WebsiteGuid == websiteGuid);
我想使用Linqpad来测试查询,并且想知道是否以及如何使用Linqpad来做这件事。
我首先连接到db上下文,然后连接到Repository.dll以避免以下错误:
类型为"Repository.Pattern.DataContext"。定义了IDataContextAsync'在未引用的程序集中。你必须添加一个引用组装的存储库。模式,版本=1.0.0.0,文化=中性,都必须空"。(按下F4)
类型为"Repository.Pattern.DataContext"。IDataContext'定义在未被引用的程序集。你必须添加一个引用组装的存储库。模式,版本=1.0.0.0,文化=中性,都空的。
现在一切都连接起来了,我不知道如何继续。
感谢Sorax的提示,我不再使用c#语句,而是将语言改为c#程序。
我添加了一个参考Repository.Pattern.Ef6'bin'Repository.Pattern.Ef6.dll,并编写了一个基本的工作查询如下:
void Main()
{
//IRepository<Website> _repository = ;
var _repository = new Repository.Pattern.Ef6.Repository<Website>(this);
var website = _repository
.Query()
.Select();
website.Dump("The Oputput...");
}
我在这里做了一些假设,比如您的存储库依赖于您创建的DBContext连接。所以这应该只是一个初始化实例的问题:
var userId = new Guid("...");
var websiteGuid = new Guid("...");
var _repository = new Repository<Website>(this);
var website = _repository
.Query()
.Select()
.Single(u => u.UserId == userId && u.WebsiteGuid == websiteGuid);
website
.Dump();