C# Dapper Contrib插入带下划线的匹配名称映射器isn’;行不通

C# Dapper Contrib插入带下划线的匹配名称映射器isn’;行不通,c#,postgresql,dapper,dapper-extensions,micro-orm,C#,Postgresql,Dapper,Dapper Extensions,Micro Orm,Dapper.DefaultTypeMap.MatchNameswithUnderlines不适用于插入。映射器在Get方法中运行良好。我在ASP.NET Core 1.0 RC2项目中与postgres数据库一起使用以下版本 "dependencies": { "Dapper": "1.50.0-rc2", "Dapper.Contrib": "1.50.0-beta8" } 代码片段 using (var conn = new NpgsqlConnection("connS

Dapper.DefaultTypeMap.MatchNameswithUnderlines
不适用于插入。映射器在
Get
方法中运行良好。我在ASP.NET Core 1.0 RC2项目中与postgres数据库一起使用以下版本

"dependencies": {
    "Dapper": "1.50.0-rc2",
    "Dapper.Contrib": "1.50.0-beta8"
}
代码片段

using (var conn = new NpgsqlConnection("connString"))
{
    conn.Open();
    Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
    long id = conn.Insert(new Foo { Name = "new foo", LocationId = 3});

    return id;
}
insert into foo ("Name", "LocationId") values ($1, $2) RETURNING Id
执行的insert SQL语句

using (var conn = new NpgsqlConnection("connString"))
{
    conn.Open();
    Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
    long id = conn.Insert(new Foo { Name = "new foo", LocationId = 3});

    return id;
}
insert into foo ("Name", "LocationId") values ($1, $2) RETURNING Id
Foo类

[Dapper.Contrib.Extensions.Table("foo")]
public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }            
    public int LocationId { get; set; }
}
Foo表

CREATE TABLE "foo" (
    "id" SERIAL PRIMARY KEY,
    "name" VARCHAR(100) NOT NULL,
    "location_id" INTEGER REFERENCES "location" (id)
);

Contrib执行插入操作,看起来它甚至不使用下划线引用匹配名称。您可以在dapper的github上打开一个问题,但它看起来不容易更改。