Dapper Contrib Вставить MatchNamesWithUnderscores картограф не работает
Dapper.DefaultTypeMap.MatchNamesWithUnderscores
не работает для вставок. Картограф отлично работает для 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;
}
Выполненная вставка SQL stetement
insert into foo ("Name", "LocationId") values ($1, $2) RETURNING Id
Класс фу
[Dapper.Contrib.Extensions.Table("foo")]
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
public int LocationId { get; set; }
}
Фу стол
CREATE TABLE "foo" (
"id" SERIAL PRIMARY KEY,
"name" VARCHAR(100) NOT NULL,
"location_id" INTEGER REFERENCES "location" (id)
);
2 ответа
Решение
Dapper.Contrib выполняет вставку, и похоже, что Dapper.Contrib даже не ссылается на MatchNamesWithUnderscores. Вы можете открыть вопрос на github dapper, но изменить его не так просто.