当前位置:网站首页>如何让 EF Core 6 支持 DateOnly 类型
如何让 EF Core 6 支持 DateOnly 类型
2022-06-27 03:36:00 【dotNET跨平台】
前言
上次,我们发现《DateOnly 和 TimeOnly 类型居然不能序列化》。
但问题还不仅仅如此。
问题重现
假设有下列实体类:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public DateOnly Birthday { get; set; }
}由于Birthday只需要日期,所以我们使用了DateOnly类型。
但是,在使用 EF Core 6 存储到数据库时,出现如下错误:
由于数据库没有 DateOnly 类型,我们使用的是 datetime 类型
结果DateOnly不能被 Map 成datetime数据库类型。
重载 OnModelCreating
根据提示,我们重载了OnModelCreating方法,发现有个HasColumnType方法,用于配置属性在面向关系数据库时映射到的列的数据类型:
modelBuilder.Entity<User>()
.Property(t => t.Birthday)
.HasColumnType("datetime");但是,没有任何效果。
HasConversion 方法
继续查找,发现还有个HasConversion方法,用于配置属性,以便在写入数据库之前转换属性值并在从数据库中进行读取时转换回:
modelBuilder.Entity<User>()
.Property(t => t.Birthday)
.HasConversion(
d => d.ToDateTime(TimeOnly.MinValue),
d => DateOnly.FromDateTime(d));现在,EF Core 6 已经可以正确地处理 DateOnly,并使用datetime数据库类型来存储它。
结论
今天,我们介绍了使用转换器来告诉 EF Core 6 如何处理 DateOnly。
添加微信号【MyIO666】,邀你加入技术交流群
边栏推荐
- Resnet152 pepper pest image recognition 1.0
- Six possible challenges when practicing Devops
- Flink learning 4:flink technology stack
- 语义化版本 2.0.0
- 人群模拟
- Semantic version 2.0.0
- MySQL development environment
- CVPR2021:Separating Skills and Concepts for Novel Visual Question Answering将技巧与概念分开的新视觉问答
- Fplan powerplan instance
- 【一起上水硕系列】Day 6
猜你喜欢

Ledrui ldr6035 usb-c interface device supports rechargeable OTG data transmission scheme.

fplan-Powerplan实例

敏捷开发篇--Agile Development-自用

How does source insight (SI) display the full path? (do not display omitted paths) (turn off trim long path names with ellipses)

Mmdetection valueerror: need at least one array to concatenate solution

2016Analyzing the Behavior of Visual Question Answering Models

PAT甲级 1023 Have Fun with Numbers

Resnet152 pepper pest image recognition 1.0

Pat grade a 1026 table tennis

Web development framework - Express (installation and use, static hosting, routing processing, use of Middleware)
随机推荐
流沙画模拟器源码
手机新领域用法知识
ERP需求和销售管理 金蝶
语义化版本 2.0.0
Solve the problem of error reporting in cherry pick submission
Resnet152 pepper pest image recognition 1.0
PAT甲级 1018 Public Bike Management
Basic functions of promise [IV. promise source code]
发现一款 JSON 可视化工具神器,太爱了!
2021:passage retrieval for outside knowledgevisual question answering
How do I simplify the development of interfaces in open source systems?
2021:Beyond Question-Based Biases:Assessing Multimodal Shortcut Learning in Visual Question Answeri
PAT甲级 1019 General Palindromic Number
卷积神经网络(CNN)网络结构及模型原理介绍
Pat grade a 1025 pat ranking
2021:Beyond Question-Based Biases:Assessing Multimodal Shortcut Learning in Visual Question Answeri
2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers
Promise source code class version [III. promise source code] [detailed code comments / complete test cases]
2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers
PAT甲级 1025 PAT Ranking