基于SQL表列

时间:2017-03-29 20:23:09

标签: c# sql-server powershell

我的主要语言是PowerShell,我知道如何使用powershell做我想做的事,但我不知道如何用c#,

好吧,我有一些具有不同列名的sql表,我想创建一个包含所有结果的列表/数组,我知道我需要为每个表创建一个类,每个表都有基于列名的不同属性,然后用相应的列值

填充每个属性

问题是我不想为每个表创建一个具有不同道具的不同类,我想创建包含每个表的所有列名的列表,然后根据列名自动创建类属性。使用powershell来解释我的意思:

我们来看看这张表:

id  ReportDate  Volume  Capacity    FreeSpace   PercentFree
1   23/03/2017 12:59    C   279 28.7    10.3
2   23/03/2017 12:59    E   1117    756.3   67.7
3   23/03/2017 12:59    G   62464   38445.6 61.5
4   23/03/2017 12:59    H   466 414.2   88.9
在powershell中,我可以使用列名创建一个简单的数组:

$Columns = @('id','ReportDate','Volume','Capacity','FreeSpace','PercentFree')

然后我创建一个对象:

$Row = "" | Select ($Columns | % {$_})

$Row将如下所示:

id          : 
ReportDate  : 
Volume      : 
Capacity    : 
FreeSpace   : 
PercentFree : 

然后我可以用表值填充它:

在c#中我必须在创建时声明该类的属性(据我所知),例如:

public class SqlTable
    {
        public int id { get; set; }
        public string ReportDate { get; set; }
        public string Volume { get; set; }
        [...] etc...
    } 

那么,我如何根据c#中的表列创建动态类属性名称,如powershell示例,而不为每个表创建一个具有不同道具的不同类。?可能吗?如果没有,有哪些选择?

很抱歉这个问题很长,我希望我能解释一下...... 感谢。

0 个答案:

没有答案