【发布时间】:2013-12-09 09:48:54
【问题描述】:
是否可以通过反射或其他方式更改.net中字段/属性的数据类型?
我正在寻找此功能,因为强类型数据集中存在问题。强类型数据集不能灵活地更改可为空类型的数据类型。请参阅相关链接here。因此,如果有可能在运行时更改数据类型,则可以消除此问题。另外,添加;按照这个MSDN Link; Microsoft 团队不太热衷于提供这种支持。
【问题讨论】:
-
如果您不知道列的类型,您可能不应该使用强类型数据集。
-
我不知道你是否可以使用
dynamic,但人们有充分的理由只在必要时使用它。 -
@MikeChristensen 我知道数据类型,但不幸的是,当我尝试迭代数据表时,我得到了错误,因为 VS 的数据集设计器具有 Throw Exception 的唯一属性。
-
@MikeChristensen 只有当数据类型应该从数据库中获取空值并且它们无法将它们转换为 int、double、float 等时才会出现此问题。
-
@shankbond - 优雅的解决方案是不要使用像类型化数据集这样的过时框架。它们受到当时 CLR 的限制。如今,有 远 高级 ORM,例如 Entity Framework 或 NHibernate。
标签: c# .net reflection strongly-typed-dataset