我想使用一个 IUserType 来处理各种 SqlTypes 。例如,我可能要对日期进行一些处理,其中返回类型始终为 DateTime ,但 SqlType 可以是 datetime 或 datetime2 或 smalldatetime 或二进制或 varchar 。
[我被要求详细说明,所以这里有:]
我有很多实体,其中包含 DateTime 字段。在支持这些实体的旧数据库中,其中一些是 datetime ,有些是 smalldatetime ,有些是 varchar ,有些是二进制(8) (这是在Sql Server中存储 Timestamps 的旧方法)。更重要的是,DBA不断改变类型,因此我必须继续回到映射并进行编辑。
对于日期时间和 smalldatetime ,只需显式设置 sql-type 即可,但对于二进制(8)< / strong>和 varchar 我有 IUserType 实现来进行转换。但是,当事情发生变化时,我想避免必须更改 sql-types 和 类型,所以我想对所有 DateTimes 使用一个 IUserType ,并让它采取适当的操作,具体取决于调用它的列的类型
据我所知,没有办法做到这一点。向 SqlTypes 数组添加元素意味着多个列,而不是单个列的多个可能类型。
我是否认为这不受支持?这是一个合理的功能要求吗?
迈克尔