c# - 是否可以从 EF6 中的 DbDataReader 获取模型类型?
问题描述
我的项目中有一个使用 EF6 的自定义 dbDataReader。我想要的只是将某些DateTime 字段的 DateTimeKind 从 Local 更改为 UTC。出于这些目的,我覆盖了默认的 GetDateTime(int ordinal) 方法。这是我的代码:
public override DateTime GetDateTime(int ordinal)
{
return DateTime.SpecifyKind(base.GetDateTime(ordinal), DateTimeKind.Utc);
}
但是此代码会将所有dateTime 属性的 DateTimeKind 更改为 UTC。但我只需要其中一些。为了确定哪些 dateTime 字段应该获取 DateTimeKind.Utc,我决定为它们添加一个自定义属性,称为 DateTimeKindAttribute。这就是我使用它的方式:
[DateTimeKind(DateTimeKind.Utc)]
public DateTime SubmitDate { get; set; }
是否可以在 GetDateTime(int ordinal) 方法中获取相应的模型类型和属性名称。此信息将用于检查指定属性是否具有 DateTimeKindAttribute?
解决方案
推荐阅读
- java - 将字节数组解码为字符串并替换字符串内容并将其编码回来?
- mysql - 如何在 wpdb 查询中使用 ON DUPLICATE KEY
- assembly - 如何从 asciz 字符串 ARM 程序集中删除空格(没有外部库)
- excel - 打开带有自定义分隔符的 CSV 文件
- javascript - 自定义反应钩子在redux中返回帮助函数
- javascript - 我可以为多个选择查询编写一个存储过程吗?
- coldfusion - 使用cfscript输出数据库数据
- kubernetes - 为什么rabbitmq在kubenretes集群中使用helm安装时无法创建v_host
- hadoop - 无法使用 Java API 连接 HBASE
- laravel - 是否可以在 Laravel 的 .env 文件中引用 Bitbucket 存储库变量?