艾伟_转载: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 编译器 API
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(下)
|
7月前
|
存储 开发框架 安全
【Entity Framework】闲话EF中批量配置
【Entity Framework】闲话EF中批量配置
53 0
|
7月前
|
存储 API 数据库
【Entity Framework】Code First 数据批注
【Entity Framework】Code First 数据批注
56 0
|
Java 开发者
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
|
数据库 C#
Entity Framework 简单属性映射
Entity Framework 简单属性映射
1102 0
Entity Framework 简单属性映射
|
API 数据库
Entity Framework复杂类型属性映射
Entity Framework复杂类型属性映射
154 0
Entity Framework复杂类型属性映射
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(中)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(中)
|
Web App开发 Java 关系型数据库
eclipse上依据hibernate tools逆向生成PO(Domain Object)的过程
使用eclipse开发一个基于java的maven的web项目,业务逻辑基于spring实现,数据库服务器采用mysql。我们项目的业务逻辑(面向对象)和数据(关系型数据库)之间,依靠hibernate进行映射、对应、使用和处理。
3777 0
|
程序员 数据库 关系型数据库