Dapper Orm 삭제 예외

c# dapper

문제

나는 대담한 orm으로 삭제하려고 triying. 하지만이 예외를 얻는 메신저 :

다중 매핑 API를 사용할 때 ID가 아닌 키가 있으면 splitOn 매개 변수를 설정해야합니다.

내 코드는 아래와 같습니다.

public void DeleteRole(int ID)
    {
        using (var conn = new SqlConnection(connectionString))
        {
            conn.Open();
            conn.Query("DELETE FROM [Role] WHERE ID=@ID", new {ID=ID });
        }
    }

어떤 생각?

수락 된 답변

여기서 문제는 Execute 대신 Query 를 사용한다는 것입니다. Query 메서드는 결과 집합을 만들기 위해 Id 라는 열을 찾고 있으며 Query 가 아니기 때문에 결과 집합을 만들 수 없습니다.


인기 답변

쿼리의 반환 유형 지정 (정수)

int rowsCount = conn.Query<int>("DELETE FROM [Role] WHERE ID = @ID", new { ID });

또는 Michael 메서드를 사용하여 Execute 메서드를 사용하십시오.

참고 : 연결을 수동으로 열 필요가 없습니다. Dapper가 연결을 수동으로 열어줍니다.

BTW 일반 검색어는 원래 질문에 적용됩니다.

int id = conn.Query<int>(@"INSERT [Role] (Name, CreatedDate,UpdatedDate) 
                           VALUES (@Name, @CreatedDate,@UpdatedDate) 
                           SELECT CAST(scope_identity() as INT)", model).First();


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