Dapper.net으로 MERGE 수행하기

dapper

문제

우리는 Dapper.net을 ASP.net MVC 5 앱의 데이터 레이어로 사용하고 있습니다.

한 작업은 MERGE 명령을 사용해야합니다 (TitleID가있는 경우 레코드를 업데이트하고 삽입하지 않으면 삽입하십시오). 다음과 같이하십시오.

MERGE BookInventory bi
USING BookOrder bo
ON bi.TitleID = bo.TitleID
WHEN MATCHED THEN
  UPDATE
  SET bi.Quantity = bi.Quantity + bo.Quantity
WHEN NOT MATCHED BY TARGET THEN
  INSERT (TitleID, Title, Quantity)
  VALUES (bo.TitleID, bo.Title,bo.Quantity);

Dapper를 사용하여이 MERGE 문에 값을 매핑 할 수 있습니까?

이것에 관해서는 아무것도 찾을 수 없으며 Dapper.net에서 MERGE를 사용하는 최선의 방법은 무엇인지 명확하지 않습니다.

인기 답변

테스트되지 않았지만 트릭을 수행해야합니다.

const string sql = @"
    merge into SomeTable as Target
    using (select @myId AS id) as Source
    on (Target.id = Source.id)
    when matched then
        update set Target.SomeColumn = @myValue
    when not matched by Target then
        insert (SomeColumn) values (@myValue)";

conn.Execute(sql, new { myId = 999, myValue = 123 })


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow