EF 6.0 The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.

在SQL server 中,有两种日期时间类型:

1、DateTime 它的范围是 1753-1-1 至 9999-12-31

2、DateTime2 它的满园是 0001-01-01 至 9999-12-31

EF实体框架给一个DateTime字段加载一个默认值是 {01/01/0001 00:00:00},它已经在SQL日期类型的范围之外了。所以,如果要让他正常工作,我们需要告诉EF框架不需要创建一个默认的日期时间值。我们可以在模型类型上加一个可空类型,表示它的值是可以为空的。

 [Display(Name = "LastLoggedIn")]
 public DateTime? LastLoggedIn { get; set; }
时间: 2024-10-05 05:49:59

EF 6.0 The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.的相关文章

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

刚刚有在程序中,传递一个空值至MS SQL Server数据库,这个值的数据类型为DATETIME执行时,它却发生了如标题提示的异常:The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. 跟踪一下,当遇上一个空值时,它并没有真正是给一个空值给数据库,而是Datetime的最小值"1/1/0001 12:00:00 AM" 在两个文本框都是空值时,跟

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value. 错误的原因及解决方案

异常描述: 数据访问用EF,在数据库中用getdate()设置的默认值,程序中没有赋值. 出现异常. 此错误在百度上在我写此文之前没有多少解决方案,谷歌之等到以下两个有用的页: http://stackoverflow.com/questions/1331779/c-sharp-conversion-of-a-datetime2-data-type-to-a-datetime-data-type http://stackoverflow.com/questions/4608734/the-con

EF 5.0 修改T4模板(1)

Ps 修改EF5.0的tt文件(添加命名空间和特性and备注),之所以修改是因为,使用Json.net序列化但是又不能序列化导航属性,因为这样会使程序运行时引发一个循环引用的BUG,所以需要在tt文件中遍历的时候添加命名空间和给导航属性添加特性 一 EF 5.0 tt文件修改 1添加类备注(添加命名空间) : WriteHeader(codeStringGenerator, fileManager); string summary=string.Empty; foreach (var entit

一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity

EF 5.0 帮助类

加入命名空间: using System; using System.Data; using System.Data.Entity; using System.Data.Entity.Infrastructure; using System.Linq; 接口: public interface IEFRepository<TEntity> where TEntity : class { bool AddEntity(TEntity entity); bool UpdateEntity(TEnt

EF 5.0 和 EF4.0 语法区别

// 实现对数据库的添加功能,添加实现EF框架的引用 40 41 public T AddEntity(T entity) 42 43 { 44 45 //EF4.0的写法 添加实体 46 47 //db.CreateObjectSet<T>().AddObject(entity); 48 49 //EF5.0的写法 50 51 db.Entry<T>(entity).State = EntityState.Added; 52 53 54 55 //下面的写法统一 56 57 db

EF 6.0使用小计

---恢复内容开始--- 最近尝试了下EF Extended,但是居然需要EF6.0以上,没办法,只能安装了,打开解决方案,选择库程序包管理下的程序包管理控制台(或者直接右击你需要使用扩展的解决方案选管理NuGet程序包),也不废话了,直接装上. 使用简单的三层结果,在DAL层装上了extended扩展,点开引用一看,好家伙,引入了三个dll,一个是EntityFramework,一个EntityFramework.Extended,一个是EntityFramework.SqlServer,没弄

.NET EF Core2.0 (DBFirst)使用与配置

本文环境:vs2017 win10 .NET CORE 2.14 其次,如果你是Windows7系统 那么需要升级你的Windows PowerShell到3.0+的版本 然后你需要安装相关的工具包,从NuGet下载即可如下图: 为了方便你们复制..我列一下: Microsoft.EntityFrameworkCore EF框架核心包 Microsoft.EntityFrameworkCore.SqlServer sql数据库需要,类似的还有mysql.oracle. Microsoft.Ent

EF Core1.0 CodeFirst为Modell设置默认值!

当我们使用CodeFirst时,有时候需要设置默认值! 如下 public int Delete { get; set; } = 0; public string AdminName {get; set;} = "admin"; public bool CacheDbResults { get; set; } = true;