从SQL服务器表的模式自动在C#中定义DataTable?

ca9*_*3d9 4 c# sql-server datatable sqlbulkcopy

我已经在SQL Server中有一些表,我正在编写一个C#程序来填充一些平面文件中的表.我打算用来SQLBulkCopy加载表格.

为SQLBulkCopy定义每个DataTable的所有列可能需要做很多工作.是否可以从现有SQL Server表的定义中轻松地在C#中生成这些DataTable?


我无法使用Bulk insertbcp因为平面文件处于不同的奇怪布局,并且在插入之前必须通过一些C#代码进行解析.

Hol*_*ndt 15

如果您想要强力方法,可以对每个表使用以下内容:

    DataTable dt = new DataTable();
    using (SqlConnection conn = new SqlConnection("Some SQLConnectionString")) {
        conn.Open();
        using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT TOP 0 * FROM SomeTable", conn))
        {
            adapter.Fill(dt);
        };
    };
Run Code Online (Sandbox Code Playgroud)

SELECT TOP 0会返回没有记录只有表结构.