【爬坑笔记】c# 如何通过EF Core读写sql server的类似double型字段

===============================================

 2019/8/31_第1次修改                       ccb_warlock

 

===============================================

用过sql server的人可能会觉得奇怪,sql server的字段类型并没有double,为什么是这么个标题?

主要是通过c#中double型的数据在sql server中读写时踩到的坑,由此做了这篇记录。

 

 

最近第一次写EF Core读写sql server时,其中的一个属性类型在C#内定义为double,而一插sql server的字段类型只有下面4种可以存小数类型:

decimal
float
numeric
real

 

最初我想当然的认为,可以选用decimal来存double型,结果查询的时候提示格式不匹配。

 

EF Core在读写sql server时不支持将decimal转成double来显示(其实想想也是,decimal的精度比double高,从decimal转到double会出现数据丢失的情况,框架当然要报错)。

 

查了资料后才知道,sqlserver数据表的Float对应Double,换句话说,如果C#内定义了double或float型的属性时,都可以映射为sql server的float型字段。

(oracle提供number,mysql则分别提供了float、double,这么一对比sql server的这个设计是不是个坑?)

 


参考资料:

1.https://bbs.csdn.net/topics/60228284

2.https://blog.csdn.net/qq_27376871/article/details/51321175

3.https://www.cnblogs.com/ShaYeBlog/p/8287587.html

4.https://www.cnblogs.com/yachao1120/p/7879532.html

 

转载于:https://www.cnblogs.com/straycats/p/11441127.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值