我目前通过索引引用通用DataSet,并希望将其转换为表类型的强类型DataSet。问题是我的DataRow索引是一个变量。
目前我正在执行以下操作,其中从数据库中提取History_Column值。
e.Dr[c.History_Column.ToString()] = Entry;
我想将DataRow(示例中的'Dr')定义为表的一种类型,以便我可以执行类似以下的操作:
e.Dr.COLUMN_NAME = Entry;
如何以这种方式使用动态变量?
谢谢!
答案 0 :(得分:3)
您可以使用动态类型来帮助您实现目标,但您的目标听起来有点矛盾。
dynamic Dr = new ExpandoObject();
Dr.whatever = 6;
Dr.anything = "asdf";
如果您将ExpandoObject
与dynamic
一起使用,则可以指定任何属性。
答案 1 :(得分:0)
强类型数据集是应用程序中从内置数据集类派生的类。您必须将它们添加到Visual Studio中的项目中。以下是creating strongly typed datasets的一些说明。
但是,我建议您借此机会重构并完全摆脱数据集(如果可以的话)。 Entity Framework为每列提供强类型属性访问器,更好的“工作单元”模式,图形数据库映射工具,并且更容易使用。