如下一张表 要进行MyDate的date部分进行分组,我们会发现如下写法会报异常 那么如何才能使linq正确转化为sql语句呢,这就要使用到了DbFunctions这个工具类 转到定义可以看到此类在entityframework.dll类库中 将查询替换为DbFunctions的方法,可以看到查询分组信息成功…
一. 开篇说明 EF的性能问题一直以来经常被人所吐槽,究其原因在于“复杂的操作在生成SQL阶段耗时长,且执行效率不高”,但并不是没有办法解决,从EF本身举几个简单的优化例子: ①:如果仅是查询数据,并不对数据进行增.删.改操作,查询数据的时候可以取消状态追踪. db.TestInfor.AsNoTracking().FirstOrDefault(); ②:用什么查什么,比如一张表有100多个字段,本次业务只需要5个字段,一定是select这5个字段,然后toList,而不是全部查询,再toLis…
找了很多资料,终于找到一篇真正能解决ef生成字段说明,注释的文章,收藏不了,于是转载 本文章为转载,原文地址 项目中使用了EF框架,使用的是Database-First方式,因为数据库已经存在,所以采用Database-First方式,ef生成实体类的时候,发现微软没有自动生成表字段和表说明,在网上找了些资料,由于都不太全,倒腾了近2个小时,所以根据网上的帖子为基础,写得更详细一点,让初学者更容易明白和少走弯路.网上也有一些自动生成的软件,可以自动生成,但是更新数据库需要重新生成,有点麻烦,所有…
解决fastjson反序列化日期0000-00-00失败的方案 22 Jul 2016 一.案例场景复原 示例场景里涉及两个class:TestDemo.java, DateBeanDemo.java. // DateBeanDemo.java public class DateBeanDemo { /** * dateStr field with Date.class */ private Date dateStr; /** * Get dateStr <br> * * @return Re…
之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册页面(adduser.jsp)上需要输入用户的Id,用户的名字,用户的薪水,用户的入职日期,然后在Action收集,并且在success.jsp中显示出来. 案例如下: 案例结构图:…
laydate是一款比较好用的网页时间日期插件,不过用起来有一些细节问题需要我们手动去解决!例如:laydate兼容bootstrap 1. 默认情况 laydate弹出层默认对齐input左边框 2. 定位溢出 但是当这个input比较靠页面右边的时候就会出现弹出层一部分溢出的问题 3. 解决定位 需要修改插件JS文件,使其能够判断是否溢出并修复定位 找到JS文件laydate.js 首先找到设置定位代码 a.style.left=e.left+(b?0:c.scroll(1))+"px&qu…
开发环境: 语言:PHP 框架:ThinkPHP 问题:在引用插件My97DatePicker时,想实现:开始日期不能大于结束日期,结束时间不能小于开始时间 步骤一.查看文档官方文档http://www.my97.net/dp/demo/index.htm可以看到实现办法如下: 步骤二.按照文档说明,作用于自己代码中: <input name="start_time" type="text" id="start_time" class=&q…
转自:http://www.cnblogs.com/nianming/archive/2013/06/07/3123103.html#2699851 记录下. 园友莱布尼茨写了一篇<Entity Framework数据插入性能追踪>的文章,我感觉不错,至少他提出了问题,写了出来,引起了大家的讨论,这就是一个氛围.读完文章+评论,于是我自己也写了个简单的程序试了试. 先晒一下代码: 两个简单的类: : /// <summary> : /// 消费者 : /// </summar…
方案一: 使用EntityFramework.Extended优点: 启下载量是Z.EntityFramework.Extensions的10倍+ 不会过期缺点:不能批量Insert 方案二:解决批量Insert(update不可用,update必须是true) ///在批量插入时,需要加上dbContext.Configuration.AutoDetectChangesEnabled = false; ///解释:http://www.cnblogs.com/linfei721/archive…
前两年帮朋友 做了个网吧管理软件,采用动软的三层架构 sql语句生成的.最近因功能变更 要改动,而我这段正在做asp.net mvc +ef+autofac的一个电商网站.索性 就把原来的底层全重新了套用了我现在的架构 EF6.0+autofac+三层架构,上层的asp.net没有变.改完后发现交班页面打开巨慢. 跟踪EF生成的sql语句   发现生成的sql 有问题,查找的全表,而全表有近10万条的数据. 继续跟踪数据库的耗时查询 发现确实是这条语句占时间 为什么会这样呢,我在查询里做条件搜索…
一. 综述 该模块主要介绍:EF的性能优化插件Z.EntityFramework.Extensions,该插件收费. (一). 简介 1. 相关网站:http://www.zzzprojects.com/ 2. 下载途径:通过Nuget直接下载或者去官网下载(要注意更新最新版本,可能会过期) 3. 该程序集包括三个核心模块:Bulk SaveChanges.Bulk Operations.Batch Operations (二).Bulk SaveChanges 大批量保存 1. 核心方法:Bu…
有时候我们要为EF中的Model加一个新属性,这个属性不是数据库中的字段,而是从其它表中关联出来的.EF中要标示一个列不是对应表中字段只需要加上NotMapped特性.要使用NotMapped,保证你的项目引用了System.ComponentModel.DataAnnotations.dll,NotMapped特性在命名空间System.ComponentModel.DataAnnotations.Schema下.比如我们有一个Employee实体: public class Employee…
在模型的T4模板(如model.tt)中插入如下代码,这样由模板生成的模型代码中的导航属性将自动带有[JsonIgnore]标识,不会被序列化 1. 添加命名空间的引用 找到以下代码,添加using Newtonsoft.Json; BeginNamespace(code);#>using Newtonsoft.Json;<#=codeStringGenerator.UsingDirectives(inHeader: false)#> 2.为导航属性添加JsonIgnore标签 找到以下…
protected void Application_Start() { //禁用第一次ef查询对表__MigrationHistory的问题使用了ef的Code first会在第一次ef查询的时候会对__MigrationHistory访问,是为了检查数据库和model是否匹配,以保证ef能正常运行 System.Data.Entity.Database.SetInitializer<DataContext>(null); //设置当前数据库类型 DbHelper.DbType = (Dat…
前两年帮朋友 做了个网吧管理软件,采用动软的三层架构 sql语句生成的.最近因功能变更 要改动,而我这段正在做asp.net mvc +ef+autofac的一个电商网站.索性 就把原来的底层全重新了套用了我现在的架构 EF6.0+autofac+三层架构,上层的asp.net没有变.改完后发现交班页面打开巨慢. 跟踪EF生成的sql语句   发现生成的sql 有问题,查找的全表,而全表有近10万条的数据. 继续跟踪数据库的耗时查询 发现确实是这条语句占时间 为什么会这样呢,我在查询里做条件搜索…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5  从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数据保存前执行一些操作. 解决方案 假设你有如图7-7所示的模型. 图7-7. 包含实体Technician和ServiceCall的模型 在这个模型中,每个技术员(technician)都有一些业务服务请求(service call),业务服务请求包含联系人姓名,问题.使用代码清单7-4,创建一个扩展方法获取…
people 类中有 zhengshu类 且是一对一,现在要删除people类中的zhengshu 网上看了N多办法,什么更新外键什么滴. 其实方法简单极了 using (KJExamEntity context = new KJExamEntity()) { context.Peoples.Attach(people); context.ZhengShus.Remove(people.SBZhengShu); context.SaveChanges(); } 完事之后people.SBZhen…
EF4.0默认开启缓存机制,如果想要禁用缓存机制的话,则须加上一句话:_db.CreateObjectSet().MergeOption = MergeOption.OverwriteChanges; public IQueryable<T> LoadEntities(Func<T, bool> whereLambda) { try { var set = _db.CreateObjectSet<T>(); set.MergeOption = MergeOption.O…
1)  在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pageContext.request.contextPath}/user/add.action" method="POST"> 编号:<input type="text" name="id" value="${id}&q…
1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2:指定 JsonIgnore忽略 引用对象 实例1,解决MVC的Json序列化引用方法: step1:在项目上添加引用 Newtonsoft.Json程序包,命令:Insert-Package Newtonsoft.Json step2:在项目中添加一个类,继承JsonResult,代码如下: ///…
原文地址(https://blog.csdn.net/yangxinyue315/article/details/44960895) 在使用EF时,想要比较字符串类型的日期时 在使用EF时,想要比较字符串类型的日期时,参考以下: SQL语句: 1)select * from TableName where StartTime > ‘2015-04-08’ 2)select * from TableName where StartTime >= ‘2015-04-08’ 3)select * f…
今天查询表数据还是出现上次那种问题,但是每次都要去调用转化函数,比较麻烦,所以找一下资料,得到几种方式解决oralce的日期数据显示格式 问题描述: 解决方法 1)方法1:调用Oracle函数转化成日期格式 -- 方法1:调用函数支持转化成日期格式(每次都要调用转化方法)--- select A.CODE,to_char(cast(cast(A.BEGINDATE as timestamp) as date),'yyyy-mm-dd hh24:mi:ss') BEGINDATE, A.ENDDA…
总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇:EF学习笔记(九):异步处理和存储过程 本篇原文链接:Handling Concurrency Concurrency Conflicts 并发冲突 发生并发冲突很简单,一个用户点开一条数据进行编辑,另外一个用户同时也点开这条数据进行编辑,那么如果不处理并发的话,谁后提交修改保存的,谁的数据就会被记录,而前一个就被覆盖了: 如果在一些特定的应用中,这种并发冲突可以被接受的话,那么就不用花力气去特意处理并发:毕竟处理…
  今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCangra.setSubDate([Ljava.lang.String;) 这类异常信息在以前是处理过的,按照以前的思路在eclipse的调试模式下看看具体的情况,不过这次比较奇怪,根本没进入到对应的Action类中就抛出了此异常信息,进一步查找发现,在调用拦截器方法的时候就抛出了此异常信息,还有没…
解决ef第一次启动较慢的问题: protected void Application_Start() { //禁用第一次ef查询对表__MigrationHistory的问题使用了ef的Code first会在第一次ef查询的时候会对__MigrationHistory访问,是为了检查数据库和model是否匹配,以保证ef能正常运行 System.Data.Entity.Database.SetInitializer<DataContext>(null); //设置当前数据库类型 DbHelp…
在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80.00,90.15等,但在 dev gridView中只是显示80,90 1.解决日期显示问题的代码: 设置日期的displayformat,editFormat,EditMask /// <summary>        /// 设置时间显示格式        /// </summary&g…
oracle文字与格式字符串不匹配的解决 oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法. 如insert into CUSLOGS(STARTTIME) values(to_date('2009-5-21 18:55:49','yyyy/mm/dd HH24:MI:SS')); 否则的话就会报错:“文字与格式字符串不匹配”.…
<来源网址:http://www.delphifans.com/infoview/Article_353.html>sql语句解决分页问题日期:2005年1月17日 作者:treemon2004 人气:2203 查看:[大字体 中字体 小字体]select top @pagesize b.* from (select top @tre_pagesize 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 orde…
为了解决mysql按日期分组查询统计的时候,没有数据补0.可以生成连续的时间表格来辅助查询* 生成按天的数据 * 每一个小时为一个分段 生成如下辅助表 *代码如下 CREATE TABLE num ( i INT ); -- 创建一个表用来储存0-9的数字 INSERT INTO num ( i ) VALUES ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ); -- ---------------------------------------…
一. 开发中常见的性能问题 我们在日常开发过程中,由于一些不好的习惯,经常会导致所写的代码性能低下,却毫无发觉,下面就总结一下常见的一些性能问题. 1. 真假分页 ① 假分页: db.xxx.toList().Skip(2).take(4) .  ② 真分页:db.xxx.Skip(2).take(3).toList() . 2. 合理的使用EF的数据加载方式 EF的加载方式有:立即加载.延迟加载.显示加载. 详见: ①: 第五节: EF高级属性(一) 之 本地缓存.立即加载.延迟加载(不含导航…