博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
阅读量:4939 次
发布时间:2019-06-11

本文共 502 字,大约阅读时间需要 1 分钟。

具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大。SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范围,EF就会把datetime转换为datetime2,但在数据库的映射类型还是datetime类型,从而出现该异常。

 

try:

把你的edmx中的ProviderManifestToken设置成2005,这样entityframework就会默认转化成datetime了。

结果不成功

 

try:

C#中的Datetime返回和sqlserver中Datetime的方位不一致,C#中的范围较广,将数据库字段类型设为datetime2即可

结果不成功

 

try:

未在edmx文件中设置对应表字段的属性,在edmx文件中找到对应的字段,将属性StoreGeneratedPattern设置为Identity即可

结果不成功

 

我也是犯了同样的一个错误就是没有初始化一个时间的字段造成的,初始化之后就好了!

 

转载于:https://www.cnblogs.com/shy1766IT/p/5375620.html

你可能感兴趣的文章
【资料】wod地城掉落
查看>>
C# FTPHelper(搬运)
查看>>
C#HttpHelper类1.3正式版教程与升级报告
查看>>
【转】Android 语言切换过程分析
查看>>
jpa 多对多关系的实现注解形式
查看>>
Android开发——View绘制过程源码解析(一)
查看>>
Quartz和TopShelf Windows服务作业调度
查看>>
让ie9之前的版本支持canvas
查看>>
排序规则
查看>>
percent的用法
查看>>
中文词频统计
查看>>
Hibernate三种状态详解
查看>>
判断一个数是否是2^N次方
查看>>
js中几种实用的跨域方法原理详解
查看>>
打印图形
查看>>
《第一行代码》学习笔记7-活动Activity(5)
查看>>
ngx_http_core_module 模块
查看>>
两个常见的oracle索引
查看>>
一位有着工匠精神的博主写的关于IEnumerable接口的详细解析
查看>>
MySQL中特有的函数If函数
查看>>