使用列名称变量的强类型数据集

时间:2011-04-12 16:11:41

标签: c# asp.net dataset strong-typing

我目前通过索引引用通用DataSet,并希望将其转换为表类型的强类型DataSet。问题是我的DataRow索引是一个变量。

目前我正在执行以下操作,其中从数据库中提取History_Column值。

e.Dr[c.History_Column.ToString()] = Entry;

我想将DataRow(示例中的'Dr')定义为表的一种类型,以便我可以执行类似以下的操作:

e.Dr.COLUMN_NAME = Entry;

如何以这种方式使用动态变量?

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用动态类型来帮助您实现目标,但您的目标听起来有点矛盾。

dynamic Dr = new ExpandoObject();
Dr.whatever = 6;
Dr.anything = "asdf";

如果您将ExpandoObjectdynamic一起使用,则可以指定任何属性。

答案 1 :(得分:0)

强类型数据集是应用程序中从内置数据集类派生的类。您必须将它们添加到Visual Studio中的项目中。以下是creating strongly typed datasets的一些说明。

但是,我建议您借此机会重构并完全摆脱数据集(如果可以的话)。 Entity Framework为每列提供强类型属性访问器,更好的“工作单元”模式,图形数据库映射工具,并且更容易使用。