2017-04-13 3 views
1

내 엔티티 그것은 기본 말끔 DOMMEL는 ID 필드를 삽입하지 않습니다에 의해 같습니다Dapper Dommel에 응용 프로그램 생성 기본 키를 삽입하려면 어떻게합니까?

public class AppUser 
{ 
    string Id { get; set; } 
    string Name { get; set; } 
} 

가정하자. 그것은이 매우 가까운 SQL을 생성합니다 :

이 SQL은 지금처럼 단정 한 DOMMEL 삽입 기능을 사용하여 생성
insert into AppUser (Name) values ("Dapper") select cast(scope_identity() as int) 

:

using (var connection = new System.Data.SqlClient.SqlConnection(ConnectionString)) 
{ 
    connection.Open(); 
    connection.Insert<AppUser>(new User { Id = "someGuid", Name = "Dapper" }); 
} 

내가 제공 한 ID 열을 삽입 할 싶습니다 select cast (scope_identity() as int) 쿼리에 대한 값이며 수행하지 않습니다. 즉, 나는 이런 것을 좋아할 것입니다.

insert into AppUser (Id, Name) values ("someGuid", "Dapper") 

문서에서이 파일을 찾을 수없는 것 같습니다. 아무도 이것을 달성하는 방법을 알고 있습니까?

답변

0

나는 DOMMEL에 익숙하지 해요,하지만 당신은 단지 .Execute를 사용할 수 있습니다 : 예, 당신이 절대적으로 정확

_dbConnection.Execute(@"insert into AppUser (Id, Name) 
          values (@Id, @Name)", new {Id = 1, Name = "Foo"}); 
+0

을하지만 삽입 등의 방법을 사용하기 때문에 불행하게도 그것은 DOMMEL의 목적을 물리 칠 것이다 (객체) , Delete (객체), Update (객체) - 하드 코딩 된 SQL이없는 이점. –