【发布时间】:2010-09-10 14:32:20
【问题描述】:
假设我有一个字符串“nvarchar(50)”,例如用于创建该类型表的 T-SQL 字符串段。如何最好地将其转换为 System.Data.DbType 的枚举表示?
它能否处理在 T-SQL 中编写类型的多种不同可能方式,例如:
[nvarchar](50)
nvarchar 50
@Jorge Table:是的,这很方便,但是没有预烘焙转换器吗?否则很好的答案。
【问题讨论】:
假设我有一个字符串“nvarchar(50)”,例如用于创建该类型表的 T-SQL 字符串段。如何最好地将其转换为 System.Data.DbType 的枚举表示?
它能否处理在 T-SQL 中编写类型的多种不同可能方式,例如:
[nvarchar](50)
nvarchar 50
@Jorge Table:是的,这很方便,但是没有预烘焙转换器吗?否则很好的答案。
【问题讨论】:
希望这个映射表能完成这项工作。
【讨论】:
我的第一次尝试将涉及使用正则表达式来解析声明的两个部分(其中第二部分仅用于可变大小的类型。)确保在解析时将类型名称转换为小写它。
您可以创建一个包含所有各种类型的枚举(小写),然后使用 Enum.Parse 获取枚举值的实例,然后使用 switch-case 获取适当的 System.Data。每个枚举值的 DbType。
有点恶心,我承认。
【讨论】: