c# - C# Moq 实体框架 6.1.3 不区分大小写
问题描述
要对我正在使用的实体框架服务进行单元测试Moq
。普通数据库使用排序规则SQL_Latin1_General_CP1_CI_AS
,因此不区分大小写。是否也可以使模拟的ApplicationDbContext
大小写不敏感?
当前代码:
private Mock<ApplicationDbContext> GetMockedApplicationDbContext()
{
var mockedPoliceRegion = GetMockedPoliceRegion();
var mockContext = new Mock<ApplicationDbContext>();
mockContext.Setup(c => c.PoliceRegions).Returns(mockedPoliceRegion.Object);
return mockContext;
}
private Mock<DbSet<PoliceRegion>> GetMockedPoliceRegion()
{
IQueryable<PoliceRegion> data = new List<PoliceRegion>
{
new PoliceRegion() {Name = "Syd"},
}.AsQueryable();
var mockSet = new Mock<DbSet<PoliceRegion>>();
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Provider).Returns(data.Provider);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Expression).Returns(data.Expression);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.ElementType).Returns(data.ElementType);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
return mockSet;
}
解决方案
推荐阅读
- django - Django:如何仅显示模板中模型中的选中项?
- api - Flutter中如何在类之间传递数据
- server - ixgbe eth0:由于 tx 超时而启动重置和 ixgbe eth0:重置适配器
- mysql - 在 MYSQL 中使用触发器自动递增复合键时如何保持并发性?
- android - 片段中的Kotlin json数据解析
- typescript - 解析错误:“parserOptions.project”已为@typescript-eslint/parser 设置
- mongodb - 连接到 MongoDB 配置服务器以在 windows10 上运行的 docker 容器上进行分片
- elasticsearch - Elasticsearch 集群数据迁移
- c# - 如何调整 ListView 的高度以适应内容
- c# - c#itext7 - Tesseract 失败 - Visual c++ 2015 Redistributable