10

我正在使用 DapperExtensions v4.0.30319,我试图让 Dapper.Contrib 知道我的架构不是 DBO。我提供了:

public class EngineMapper : ClassMapper<Engine>
{
    public EngineMapper() : base()
    {
        Schema("vehicles");
    }
}

我从 DapperExtensions 文档 ( https://github.com/tmsmith/Dapper-Extensions/wiki/Customized-mapping-for-a-class ) 中了解到,将使用反射自动找到此类?

但我也尝试明确使用:

DapperExtensions.DapperExtensions.DefaultMapper = typeof(EngineMapper);

无论哪种方式,当我使用 Dapper.Contrib 时:

SqlConnection.Insert(new Engine());

生成的插入语句未指定任何模式。

如何使用 Dapper.Contrib 进行插入(或更新等),它使用我指定的表模式?

4

2 回答 2

10

您可以使用Table属性来显示schematable命名,并在两者之间加上一个点:

using Dapper.Contrib.Extensions;

[Table ("vehicles.YourTables")]
public class YourClass
{
    public int Id { get; set; }
    public string Name { get; set; }
}
于 2017-04-04T04:13:37.003 回答
0

我还需要能够将类映射到自定义模式。我的项目是asp.net core 2.2 试图用[Table("schema.Table")]属性来装饰poco,但dapper contrib似乎不会捡起来。这里是项目。依赖关系

在此处输入图像描述

然而,这种方法成功了:

在此处输入图像描述

看看是否有帮助。

于 2019-06-25T01:47:40.200 回答