Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách chèn Danh sách C # vào cơ sở dữ liệu bằng Dapper.NET

Bạn phải làm khác đi một chút. Trong Dapper, nó khớp trên thuộc tính AKA quy ước hoặc tên trường giống với các tham số SQL. Vì vậy, giả sử bạn có MyObject :

public class MyObject
{
    public int A { get; set; }

    public string B { get; set; }
}

Và giả sử processList = List<MyObject> , Bạn muốn làm điều này

foreach (var item in processList)
{
    string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
    connection.Execute(processQuery, item);
}

Lưu ý rằng MyObject tên thuộc tính A và B khớp với tên tham số SQL @A và @B.

Nếu bạn không muốn đổi tên các đối tượng, bạn có thể sử dụng các kiểu ẩn danh để thực hiện ánh xạ thay vì các kiểu cụ thể:

foreach (var item in processList)
{
    string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
    connection.Execute(processQuery, new { A = item.A, B = item.B });
}

CHỈNH SỬA:

Theo nhận xét của Marc Gravell, bạn cũng có thể yêu cầu Dapper thực hiện vòng lặp cho bạn:

string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
connection.Execute(processQuery, processList);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi nào / Tại sao sử dụng Cascading trong SQL Server?

  2. Cách RANK () hoạt động trong SQL Server

  3. SQL Server INFORMATION_SCHEMA Lượt xem | Xem nếu một bảng tồn tại

  4. Làm cách nào để đưa các giá trị rỗng vào MIN hoặc MAX?

  5. Khắc phục “Lỗi tràn số học chuyển đổi int thành kiểu dữ liệu số” trong SQL Server