博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
艾伟_转载:Entity Framework的默认值BUG解决方法
阅读量:6427 次
发布时间:2019-06-23

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

  在使用.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”属性,然后保存退出,就行了。

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

转载地址:http://zoyga.baihongyu.com/

你可能感兴趣的文章
关于RFC
查看>>
juery 选择器 选择多个元素
查看>>
【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能
查看>>
Oracle Net Configuration(监听程序和网络服务配置)
查看>>
c语言_判断例子
查看>>
ubuntu重启不清除 /tmp 设置
查看>>
面向对象
查看>>
JSON
查看>>
SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
查看>>
16.Python网络爬虫之Scrapy框架(CrawlSpider)
查看>>
stm 常用头文件
查看>>
mac 删除文件夹里所有的.svn文件
查看>>
程序制作 代写程序 软件定制 代写Assignment 网络IT支持服务
查看>>
mysql 案例~select引起的性能问题
查看>>
直接读取图层
查看>>
springsecurity 源码解读 之 RememberMeAuthenticationFilter
查看>>
HTML5标准学习 - 编码
查看>>
JS 时间戳转星期几 AND js时间戳判断时间几天前
查看>>
UVa11426 最大公约数之和(正版)
查看>>
mime
查看>>