SqlBulkCopy를 사용하여 목록에서 데이터 삽입
일반 목록에서 SqlBulkCopy를 사용하여 대량 삽입을 수행하는 작업에 직면하면 이는 자연스러운 일입니다. 사용자 지정 IDataReader 구현을 고려해보세요. 그러나 FastMember 라이브러리를 사용하는 더 효율적이고 편리한 솔루션이 있습니다.
FastMember를 사용한 솔루션
FastMember는 목록 변환 프로세스를 단순화하는 ObjectReader라는 강력한 클래스를 제공합니다. 객체를 데이터 리더로 보냅니다. 사용 방법은 다음과 같습니다.
using(var bcp = new SqlBulkCopy(connection)) using(var reader = ObjectReader.Create(data, "Id", "Name", "Description")) { bcp.DestinationTableName = "SomeTable"; bcp.WriteToServer(reader); }
이 예에서 데이터는 "ID", "이름" 및 "설명" 속성을 포함하는 개체 목록입니다.
ObjectReader는 일반이 아닌 데이터 소스로도 작업할 수 있으며 멤버 이름을 미리 지정할 필요가 없습니다. 그러나 ObjectReader에서 이를 지정하지 않으면 SqlBulkCopy의 ColumnMappings 측면을 사용하여 개체 속성과 대상 열 간의 매핑을 정의할 수 있습니다.
위 내용은 SqlBulkCopy를 사용하여 목록의 데이터를 SQL Server에 효율적으로 대량 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!