Guid를 삽입하고 dapper로 값을 검색하십시오.

asp.net-mvc-5 c# dapper dapper-extensions sql-server-2008

문제

내 데이터베이스에 레코드를 삽입하고 방금 추가 한 GUID를 검색하려고합니다.

GUID , FirstName , LastName 과 같은 3 개의 열이있는 테이블이 있다고 가정 해 보겠습니다. 새 레코드를 삽입 한 다음 방금 생성 된 GUID를 다시 가져와야합니다. 문제는 이름과 성이 중복된다는 것입니다. 나는 성취 방법을 확실히 모른다.

내가 시도한 것은 다음과 같습니다. 실제로 선택할 수있는 열을 알려주지 않았기 때문에 아래의 내용이 작동하지 않습니다. 그리고 그것을 어떻게 표시해야할지 모르겠습니다.

var query = @"INSERT INTO MyTable(GUID, FirstName, LastName)
                  SELECT
                      @GUID, @FirstName, @LastName);

using (var oConn = CreateConnection())
{
    var test = oConn.Query<string>(query, new
            {
                GUID = Guid.NewGuid(), 
                "John", 
                "Doe"
            }).Single();
}

내가받는 오류는

시퀀스에 요소가 없습니다.

수락 된 답변

삽입 한 Guid 만 원하면 코드의 로컬 변수에 저장하고 필요에 따라 사용하십시오.

또한 코드에 몇 가지 오류가 있습니다. 아래 코드가 수정되어 작동합니다.

var guid = Guid.NewGuid();
var query = @"INSERT INTO
              MyTable (GUID, FirstName, LastName) values ( @GUID, @FirstName,@LastName);";
using (var conn =  CreateConnection())
{
    conn.Execute(query, new {  @GUID = guid, @FirstName= "John", @LastName= "Scott" });
}
// You can use the value in guid variable now. It will be Id you inserted just now


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