728x90
728x90
INSERT · UPDATE · DELETE 쿼리
- Execute 메서드
: SQL 쿼리를 실행하고, 영향을 받은 행의 수를 반환함
using (var conn = new SqlConnection(connectionString))
{
var parameters = new { Name = "NewUser", Age = 25 };
int affectedRows = connection.Execute("INSERT INTO Users (Name, Age) VALUES (@Name, @Age)", parameters);
}
소량의 데이터를 INSERT하기
using (var conn = new SqlConnection(connectionString))
{
var sql = "INSERT INTO Customers (Name, Email) VALUES (@Name, @Email)";
var anonymousCustomers = new List<object>() {
new { Name = "aaa", Email = "aaa@example.com" },
new { Name = "bbb", Email = "bbb@example.com" },
new { Name = "ccc", Email = "ccc@example.com" },
};
var rowsAffected = connection.Execute(sql, anonymousCustomers);
}
대량의 데아터를 INSERT하기
- Dapper Plus 라이브러리 활용 : https://www.learndapper.com/bulk-operations/bulk-insert
// NuGet을 활용해서 설치하기
Install-Package Z.Dapper.Plus
- 기본적으로, 객체 배열 변수명과 동일한 테이블에 INSERT됨
using (var conn = new SqlConnection(connectionString))
{
var customers = new List<object>() {
new { Name = "aaa", Email = "aaa@example.com" },
new { Name = "bbb", Email = "bbb@example.com" },
new { Name = "ccc", Email = "ccc@example.com" },
};
// DB 내 'customers' 테이블에 INSERT됨 (대소문자 구분 X)
connection.BulkInsert(customers);
}
- 테이블 이름을 지정해서 INSERT할 수도 있음
using (var conn = new SqlConnection(connectionString))
{
var customers = new List<object>() {
new { Name = "aaa", Email = "aaa@example.com" },
new { Name = "bbb", Email = "bbb@example.com" },
new { Name = "ccc", Email = "ccc@example.com" },
};
// 매핑 설정: 익명 객체를 'User' 테이블에 매핑
DapperPlusManager.Entity<object>()
.Table("User")
.Map(x => new { x.Name, x.Email });
// DB 내 'User' 테이블에 INSERT됨
conn.BulkInsert(customers);
}
프로시저 실행
using (var conn = new SqlConnection(connectionString))
{
var parameters = new { Name = "NewUser", Age = 25 };
int affectedRows = connection.Execute("InsertUser", parameters, commandType: CommandType.StoredProcedure);
}
320x100
반응형
'C#' 카테고리의 다른 글
[C#/dotnet] 권한 부여 (Authorize) (0) | 2024.11.22 |
---|---|
[C#/Dapper] SELECT 쿼리 / 프로시저 실행 (5) | 2024.11.13 |
[C#] 값 형식 (Value types) & 참조 형식 (Reference types) (0) | 2024.10.25 |
[C#/dotnet] 라우팅 (Routing) (4) | 2024.10.25 |
[C#/dotnet] 서버 컨트롤 (0) | 2024.10.24 |