수색…
결과를 반환하지 않는 명령을 실행합니다.
IDBConnection db = /* ... */
var id = /* ... */
db.Execute(@"update dbo.Dogs set Name = 'Beowoof' where Id = @id",
new { id });
저장 프로 시저
간단한 사용법
Dapper는 저장된 procs를 완벽하게 지원합니다.
var user = conn.Query<User>("spGetUser", new { Id = 1 },
commandType: CommandType.StoredProcedure)
.SingleOrDefault();
입력, 출력 및 리턴 매개 변수
더 멋진 것을 원한다면 다음과 같이 할 수 있습니다.
var p = new DynamicParameters();
p.Add("@a", 11);
p.Add("@b",
dbType: DbType.Int32,
direction: ParameterDirection.Output);
p.Add("@c",
dbType: DbType.Int32,
direction: ParameterDirection.ReturnValue);
conn.Execute("spMagicProc", p,
commandType: CommandType.StoredProcedure);
var b = p.Get<int>("@b");
var c = p.Get<int>("@c");
테이블 값 매개 변수
테이블 반환 매개 변수를 사용하는 저장 프로 시저가있는 경우 SQL Server의 테이블 형식과 동일한 구조를 가진 DataTable을 전달해야합니다. 다음은이를 사용하는 테이블 유형 및 프로 시저에 대한 정의입니다.
CREATE TYPE [dbo].[myUDTT] AS TABLE([i1] [int] NOT NULL);
GO
CREATE PROCEDURE myProc(@data dbo.myUDTT readonly) AS
SELECT i1 FROM @data;
GO
/*
-- optionally grant permissions as needed, depending on the user you execute this with.
-- Especially the GRANT EXECUTE ON TYPE is often overlooked and can cause problems if omitted.
GRANT EXECUTE ON TYPE::[dbo].[myUDTT] TO [user];
GRANT EXECUTE ON dbo.myProc TO [user];
GO
*/
C #에서 해당 프로 시저를 호출하려면 다음을 수행해야합니다.
// Build a DataTable with one int column
DataTable data = new DataTable();
data.Columns.Add("i1", typeof(int));
// Add two rows
data.Rows.Add(1);
data.Rows.Add(2);
var q = conn.Query("myProc", new {data}, commandType: CommandType.StoredProcedure);
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow