我的主要语言是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示例,而不为每个表创建一个具有不同道具的不同类。?可能吗?如果没有,有哪些选择?
很抱歉这个问题很长,我希望我能解释一下...... 感谢。