디스크의 테이블에서 메모리 내 테이블로의 SQL 데이터 대량 복사

c# database sql sqlbulkcopy sql-server

문제

SQL 서버의 큰 레코드를 주기적으로 인 메모리 테이블에 복사하려고합니다. 필자는 이러한 필드를 다른 SQL 테이블이나 플랫 파일 저장소가 아닌 내 자신의 개체에 넣어야합니다. SQLBulkCopy가 앞으로 나아갈 길입니까?

인기 답변

클래스를 만드십시오.

public class MemoryObject
{
    public Int64 Id {get; set;}  
    public string OtherProperty {get; set;}     
}

그럼, SQLDataReader를 사용 ...

public List<MemoryObject> GetMemoryObjects()
{
    using (SqlConnection connection = new SqlConnection("..."))
    {
        string sql = "query";

        SqlCommand command = new SqlCommand(sql.ToString(), connection);
        command.CommandTimeout = 3600;

        connection.Open();
        var memoryObjects = new List<MemoryObject>();

        using (var rdr = command.ExecuteReader())
            {
                    while (rdr.Read())
                    {
                        var memoryObject = new MemoryObject {
                            Id = rdr.GetInt64(0),
                            OtherProperty = rdr.GetString(1)
                        };
                        memoryObjects.Add(memoryObject);
                    }                   
            }
    }

    return memoryObjects;
}


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