首页 > 解决方案 > 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);
    }

我试图映射到的实体与数据库表匹配(即类名和表名相同,属性名和表列名也匹配)。

我也试过:

从错误消息看来,RepoDb 找不到我提供的映射。不幸的是,我不知道如何解决这个问题。我已经阅读了文档和示例教程,但我找不到任何有用的东西。他们中的大多数似乎不需要任何映射配置(类似于您在使用 Dapper 时所期望的)。我错过了什么,我该如何解决这个问题?

标签: orm

解决方案


推荐阅读