Entity Framework的默认值BUG解决方法

前几天常使用.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();
}

最后在别人的指点下,才知道这是EF的一个Bug,需要将edmx文件里,createtime字段加上 StoreGeneratedPattern="Identity" 属性才行。

这样就能使用数据库默认值了。

时间: 2024-11-03 18:44:57

Entity Framework的默认值BUG解决方法的相关文章

BootStrap iCheck插件全选与获取value值的解决方法_jquery

在使用jQuery iCheck 插件的时候遇到了一个问题,就是当我们使用普通的js全选功能无效了. $("#checkall").click( function(){ if(this.checked){ $("input[name='checkname']").each(function(){this.checked=true;}); }else{ $("input[name='checkname']").each(function(){thi

SelecT下拉框选中和取值的解决方法_jquery

 Select下拉框的问题,想在选择一个选项后,前台显示做出变动,并且知道选择的是第几个选项. 这个很好解决: 如下: <div class="page-header"> <div class="form-horizontal"> <div class="control-label col-lg-0"> </div> <div class="col-lg-2"> &l

常用的10种CSS BUG解决方法与技巧

最常用的10种CSS BUG解决方法与技巧-浏览器兼容教程 CSS bug是布局中最头疼的问题.我们需要兼顾各种浏览器,以期待获得一致的效果. 非常遗憾的是各厂商之间的竞争导致很多问题的存在.而IE6与IE7在很多问题上也存在着很大的差别. 轻松的解决CSS bug是我们必须掌握的技能.现在整理出最常用的12种CSS BUG解决方法以及CSS BUG类的小技巧. 希望对您的学习.工作有所帮助,如果您依然有疑问, 一. 针对浏览器的选择器 这些选择器在你需要针对某款浏览器进行css设计时将非常有用

ios8 beta4微信闪退bug解决方法

  ios8 beta4微信闪退怎么办?下文将告诉大家ios8 beta4微信闪退bug解决方法,有果粉表示升级beta4之后会出现微信群名片闪退现象,该如何解决呢?请看下文介绍吧. 法一.使用PP助手修复闪退,步骤请参考:"iphone5s软件闪退怎么办?iphone5s闪退修复工具使用教程". 法二.耐心等待beta5修复bug或微信官方修复.

Thinkphp中volist标签mod控制一定记录的换行BUG解决方法_php实例

本文实例讲述了Thinkphp中volist标签mod控制一定记录的换行BUG解决方法.分享给大家供大家参考.具体方法如下: 一.BUG描述: 存在于thinkphp 2.0 版本 Mod属性还用于控制一定记录的换行,例如: 复制代码 代码如下: <volist name="list" id="vo" mod="5" > {$vo.name} <eq name="mod" value="4"

自己开发遇到的坑IE7 图片scrollTop BUG解决方法

IE7 图片scrollTop BUG解决方法:

MySQL 处理插入过程中的主键唯一键重复值的解决方法_Mysql

本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )d

检测到有潜在危险的 Request.Form 值的解决方法

问题描述 从客户端(fck_content="<h2><spanstyle="bac...")中检测到有潜在危险的Request.Form值.说明:请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在Page指令或配置节中设置validateRequest=false可以禁用请求验证.但是,在这种情况下,强烈建议应用程序显式检查所有输入.异常详细信息:System.Web.HttpR

javascript使用for循环批量注册的事件不能正确获取索引值的解决方法_javascript技巧

本文实例讲述了javascript使用for循环批量注册的事件不能正确获取索引值的解决方法.分享给大家供大家参考.具体分析如下: 可能不少朋友会遇到一个问题,那就是当使用for循环批量注册事件处理函数,然后最后通过事件处理函数获取当前元素的索引值的时候会失败,先看一段代码实例: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name=&q