【发布时间】:2016-12-09 14:29:26
【问题描述】:
我正在尝试从 SQL Server 数据库中获取所选表和数据库的列、数据类型和列大小。
到目前为止,我已成功获取列名和数据类型,但我也想获取大小。
示例:假设我在 SQL Server 数据库表中有 2 列,如下所示:
1) Name nvarchar(30)
3) Salary decimal(6,2)
现在我可以使用 nvarchar 和 salary 数据类型获取姓名和薪水,但大小未到来。
代码:
String[] columnRestrictions = new String[4];
columnRestrictions[0] = 'MyDb';
columnRestrictions[1] = 'dbo';
columnRestrictions[2] = 'Employee';
using (SqlConnection con = new SqlConnection("MyConnectionString"))
{
con.Open();
var columns = con.GetSchema("Columns", columnRestrictions).AsEnumerable()
.Select(c => new (c[3].ToString(), c.Field<string>("DATA_TYPE"))).ToList();
我得到的结果如下:
Name nvarchar
Salary decimal
预期结果:
1) Name nvarchar(30)
3) Salary decimal(6,2)
源码:Reference
有可能得到以上结果吗?
【问题讨论】:
标签: c# .net sql-server linq ado.net