orm - RepoDb 找不到映射配置
问题描述
我正在尝试使用 RepoDb 来查询表的内容(在现有的 Sql Server 数据库中),但我所有的尝试都会导致InvalidOperationException (There are no 'contructor parameter' and/or 'property member' bindings found between the resultset of the data reader and the type 'MyType')
.
我正在使用的查询如下所示:
public Task<ICollection<MyType>> GetAllAsync()
{
var result = new List<MyType>();
using (var db = new SqlConnection(connectionString).EnsureOpen())
{
result = (await db.ExecuteQueryAsync<MyType>("select * from mytype")).ToList();
}
return result;
}
我正在尝试通过单元测试来运行它,类似于以下内容:
[Test]
public async Task MyTypeFetcher_returns_all()
{
SqlServerBootstrap.Initialize();
var sut = new MyTypeFetcher("connection string");
var actual = await sut.GetAllAsync();
Assert.IsNotNull(actual);
}
我试图映射到的实体与数据库表匹配(即类名和表名相同,属性名和表列名也匹配)。
我也试过:
- 在我试图映射到的类上添加注释(在类级别和属性级别)
- 使用 ClassMapper 将类映射到 db 表
- 使用 FluentMapper 映射整个类(即实体表、所有列、身份、主要)
- 将所有映射放入一个静态类中,该类包含所有映射和配置并在测试中调用它
- 通过 ClassMapper 和 FluentMapper 在测试中直接提供映射信息
从错误消息看来,RepoDb 找不到我提供的映射。不幸的是,我不知道如何解决这个问题。我已经阅读了文档和示例教程,但我找不到任何有用的东西。他们中的大多数似乎不需要任何映射配置(类似于您在使用 Dapper 时所期望的)。我错过了什么,我该如何解决这个问题?
解决方案
推荐阅读
- laravel-8 - 如何在 Laravel 8 中创建临时表
- mfc - MFC/BCGP:将 DDX 与保持 BS_GROUPBOX 样式和 Button 类的控件一起使用?
- azure - 连接到 Azure 门户时重定向到另一个帐户的 MFA
- azure-synapse - 权限范围内的数据沿袭不足
- ios - “颜色”到预期的参数类型“UIColor?”
- java - 如何使用 R 通过 Outlook 发送电子邮件?
- c++ - 使用 clang++ 的 std::filesystem::remove_all 中的潜在错误
- javascript - 在 React 中每秒从数组中取出单个项目时遇到问题
- flutter - 参数类型“字符串”不能分配给参数类型“列表”
' - java - 带有 string.split 的大文件中的 Java 堆空间错误