使用非 dbo 模式的 DapperExtensions 和 Dapper.Contrib
DapperExtensions and Dapper.Contrib with non-dbo Schema
我正在使用 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) 了解到这个 class 将使用反射自动找到?
但我也尝试明确使用:
DapperExtensions.DapperExtensions.DefaultMapper = typeof(EngineMapper);
无论哪种方式,当我使用 Dapper.Contrib 时:
SqlConnection.Insert(new Engine());
生成的插入语句未指定任何架构。
如何在使用我指定的 table 模式的地方使用 Dapper.Contrib 进行插入(或更新等)?
您可以使用 Table
属性来显示 schema
和 table
名称以及中间的一个点:
using Dapper.Contrib.Extensions;
[Table ("vehicles.YourTables")]
public class YourClass
{
public int Id { get; set; }
public string Name { get; set; }
}
我还需要能够将 class 映射到自定义架构。我的项目是 asp.net core 2.2 试图用 [Table("schema.Table")]
属性装饰 poco,但 dapper contrib
似乎不会接受它。这是项目。依赖项
但是这种方法起到了作用:
看看是否有帮助。
我正在使用 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) 了解到这个 class 将使用反射自动找到?
但我也尝试明确使用:
DapperExtensions.DapperExtensions.DefaultMapper = typeof(EngineMapper);
无论哪种方式,当我使用 Dapper.Contrib 时:
SqlConnection.Insert(new Engine());
生成的插入语句未指定任何架构。
如何在使用我指定的 table 模式的地方使用 Dapper.Contrib 进行插入(或更新等)?
您可以使用 Table
属性来显示 schema
和 table
名称以及中间的一个点:
using Dapper.Contrib.Extensions;
[Table ("vehicles.YourTables")]
public class YourClass
{
public int Id { get; set; }
public string Name { get; set; }
}
我还需要能够将 class 映射到自定义架构。我的项目是 asp.net core 2.2 试图用 [Table("schema.Table")]
属性装饰 poco,但 dapper contrib
似乎不会接受它。这是项目。依赖项
但是这种方法起到了作用:
看看是否有帮助。