艾伟_转载:Entity Framework的默认值BUG解决方法

简介:   在使用.Net 3.5里的Entity Framework开发网站的时候,遇到了一个问题:添加记录时,对于DateTime型的数据,无法使用数据库的默认值。  具体的情况是这样的,我的数据库有个Users表,三个字段,id,username,createtime。

  在使用.Net 3.5里的Entity Framework开发网站的时候,遇到了一个问题:添加记录时,对于DateTime型的数据,无法使用数据库的默认值。

  具体的情况是这样的,我的数据库有个Users表,三个字段,id,username,createtime。

  id是int型,自增长,主键

  username是nvchar(10)型,不允许为空

  createtime是DateTime型字段,不允许为空,默认值 是getdate()

  如果用Entity框架生成实体类,直接添加数据,不指定createtime,那就会在SaveChanges时出错:

            using (LinqDemoEntities lde = new LinqDemoEntities())
            {
                Users user = new Users
                {
                    name = "Admin"
                };
                lde.AddToUsers(user);
                lde.SaveChanges();
            }

  查找了很多资料之后,才知道这是Eentities FrameWork的一个Bug,需要将edmx文件里,createtime字段加上 StoreGeneratedPattern="Identity" 属性才行。

  方法是:找到edmx文件,然后用文本工具打开,找到对应的字段属性,添加StoreGeneratedPattern=“Identity”属性,然后保存退出,就行了。

  之后,重新执行上述的语句,就会用默认值插入到数据库了。

目录
相关文章
|
Java 开发者
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
|
Java 编译器 API
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(中)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(中)
|
API 数据格式 XML
Entity Framework 系统约定配置
前言 Code First之所以能够让开发人员以一种更加高效、灵活的方式进行数据操作有一个重要的原因在于它的约定配置。现在软件开发越来越复杂,大家都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的,但是过多的配置也会带来很大的工作量,解决这个问题的方法就是约定。
898 0
|
数据库 容器 SQL
【原】尝试 Entity Framework POCO功能+Code First
Entity Framework 2.0中添加了的支持POCO(Plain Old CLR Object)的功能,这使得EF的功能越来越强大了。 下面分享一下我自己摸索学习的一个例子: 第一步:创建WinFrom项目(只是用来测试) 第二步:设计实体模型以及关联 在项目上 右击→添加新建项目→选择数据→Ado.Net实体模型 如图所示:   选择 创建 空模型 ,如下图所示:   设计模型,添加属性以及添加表的关联。
923 0
|
测试技术 持续交付
Entity Framework Code First反向生成代码
那些年我们生成的代码 早年,笨点的方法通常都是使用DbFirst先生成cs,然后把CS复制出来做些修改 后台基本上就自己使用T4来写,但是一直也没时间完善成通用的版本 MS官方 提供了EntityFramework PowerTools不过实在太难用 第三方的一些生成器也有好用的,不...
1281 0

热门文章

最新文章