Dapper Contrib Insert MatchNamesWithUnderscores 매퍼가 작동하지 않습니다.

c# dapper dapper-extensions micro-orm postgresql

문제

Dapper.DefaultTypeMap.MatchNamesWithUnderscores 는 삽입 작업을하지 않습니다. 매퍼는 Get<> 메서드에서 제대로 작동합니다. 나는 postgres 데이터베이스와 함께 내 ASP.NET 코어 1.0 RC2 프로젝트에서 다음 버전을 사용하고 있습니다.

"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

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)
);

인기 답변

Dapper.Contrib는 삽입을 수행하고 Dapper.Contrib가 MatchNamesWithUnderscores를 참조하지 않는 것처럼 보입니다. 어쩌면 dapper의 github에서 문제를 열 ​​수도 있지만 변경하기 쉽지 않습니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.