改善EF代码的方法(下)】的更多相关文章

本节,我们将介绍一些改善EF代码的方法,包括编译查询.存储模型视图以及冲突处理等内容. > CompiledQuery 提供对查询的编译和缓存以供重新使用.当相同的查询需要执行很多遍的时候,那么我们可以使用ComplieQuery将查询的语句进行编译以便下次使用,这样可以免去对同一语句的多次处理,从而改善性能.示例代码如下: public void ComplieTest() { using (var db = new NorthwindEntities1()) { //对查询进行编译 var…
本节,我们将介绍一些改善EF代码的相关方法,如NoTracking,GetObjectByKey, Include等. > MergeOption.NoTracking 当我们只需要读取某些数据而不需要删除.更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly).当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返回,它们会被自动设置为null.因此,使用NoTracking可以提升查询的性能.示例…
本节,我们将介绍一些改善EF代码的相关方法,如NoTracking,GetObjectByKey, Include等. l         MergeOption.NoTracking 当我们只需要读取某些数据而不需要删除.更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly).当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返回,它们会被自动设置为null.因此,使用NoTracking可以提升…
,IQueryable<Customers>>( (database) => database.Customers.Where(c => c.City == "London")); //执行20次相同的查询 for (int i = 0; i < 20; i++) { DateTime dt = System.DateTime.Now; foreach (var c in customer(db)) Console.WriteLine(c.Custo…
上一个建议之处了asList方法在转换基本类型数组时候存在的问题,在看下asList方法返回的列表有何特殊的地方.看代码: import java.util.Arrays; import java.util.List; public class Client { //枚举,声明一个星期 enum Week{Sun,Mon, Tue, Wed,Thu,Fri,Sat} public static void main(String[] args) { //工作日 Week[] workDays =…
有这样一个简单的需求:写一个方法,实现从原始字符串中删除与之匹配的所有子字符串,比如"蓝蓝的天,白云飘"中,删除"白云飘",输出"蓝蓝的天,"  代码如下: public class StringUtils { //删除字符串 public static String remove(String source,String sub){ return source.replaceAll(sub, ""); } } StringU…
最近, 有一本很赞的.NET技术书中文版出版了 - <More Effective C#: 改善C#代码的50个有效方法>.    从广州\西安\长沙\上海等各地.NET俱乐部都收到反馈, 说这本书是用google翻译出来的.   然而, 事实上不是这样的.   首先, 我不是这本书的译者, 我也不认识这本书的译者, 我只是出于对.NET社区和技术的热爱来写这篇文章, 来澄清和化解误会而已.  同时如果该书译者看到我这篇文章, 也请联系我. 谢谢.   先举一个例子: 该书第38页, 第一段第…
下文将为您介绍SQL中批量删除被注入的恶意代码的方法,供您参考,如果您也遇到了这样的问题,不妨一看,相信对您会有所帮助. 1,如果你的数据表很少的话,那么写几条简单的sql就搞定了 对于表中的nvchar类型的字段: 以下为引用的内容:update news set title=replace(title,'[恶意代码]','') 对于表中的text类型的字段: 以下为引用的内容:update news set content=Replace(Cast(content as varchar(80…
建议19: 断言绝对不是鸡肋 在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C.C++.Python都有不同的断言表示形式.在Java中的断言使用的是assert关键字,其基本的用法如下: assert <布尔表达式> assert <布尔表达式> : <错误信息> 在布尔表达式为假时,抛出AssertionError错误,并附带了错误信息.assert的语法较简单,有以下两…
转:http://yysyb123.blog.163.com/blog/static/192050472011382421717/ SharePoint2010 自定义代码登录方法 (自定义Form验证的登录界面)(转jlydboy) 困扰了我很久的自定义登录终于解决了,我来共享下我的方法: 代码 /// <summary> /// 得到一个安全令牌 /// </summary> /// <param name="userName">账号</p…
本人系新接触MongoDB不久,属于MongoDB的菜鸟范畴.在使用MongoDB的过程中,总结了一些认识,在此总结跟大家分享.欢迎拍砖. 关于MongoDB的内容,在此就不做介绍了,网上有浩如烟海的文章介绍.本人不善理论,不妥之处,望指正. 想法来由:本人之前主要使用EF的CodeFirst方式做一些开发,EF的优劣在此不做评述.但已经习惯了EF式的代码编写方式,所以做了一个小的框架,来模拟实现类似EF代码风格,以减少开发者在实际使用过程中对MongoDB的关注和维护.为其取名为MongoDB…
基于git命令的代码统计方法 没什么好说的,基于git log命令,使用前提是安装了git ...... .统计所有人代码量 统计所有人代码增删量,拷贝如下命令,直接在git bash等终端,git项目某分支下执行 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat…
带命令行参数的代码在IDE下调试,需要把参数赋值,本文mark一下具体的命令行参数在代码中赋值方法. if __name__ == "__main__": sys.argv = ['a.py', '--src=vi', '--tgt=en']   对应的参数顺序为:sys.argv = [arg0, arg1, arg2]…
编写高效Lua代码的方法 翻译自<Lua Programming Gems>Chapter 2:Lua Performance Tips:Basic fact By Roberto Ierusalimschy 基本知识 Lua在运行代码之前,会先把源码翻译(预编译)成一种内部编码,这种编码由一连串的虚拟机能够识别指令构成,与CPU的机器码很相似.接下来由C代码中的一个while循环负责解释这些内部编码,这个while循环中有一个很大的switch,一种指令就有对应的一个case. 可能你已经从…
php调用C代码的方法详解 在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用 2 由于php的性能问题,需要用C来实现部分功能   针对第一种情况,最合适的方法是用system调用,把现有C代码写成一个独立的程序.参数通过命令行或者标准输入传入,结果从标准输出读出.其次,稍麻烦一点的方法是C代码写成一个daemon,php程序用socket来和它进行通讯.   重点讲讲第二种情况,虽然沿用system调用的方法也可以,但是想想你的目的是优化性能,那么频繁…
关于Astyle Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进.格式化.美化.Home Page: http://astyle.sourceforge.net/Project Page: http://sourceforge.net/projects/astyle/ 在Keil μVision中集成Astyle(以Keil μVison4为例) ①下载Astyle,解压到任意位置(Astyle…
[优雅代码]07-spring下的优秀工具类 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点个赞.加个收藏这对我真的很重要.别下次一定了,都不关注上哪下次一定. 视频讲解 可直接运行的完整代码 1.反射相关(重要) 1.1背景 ReflectionUtils和AnnotationUtils,各种姿势进行反射,最关键是不用抛异常出去,相当舒心 1.2使用 @Nullable private…
原文:JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法 jquery-easyui是一个基于jquery的图形界面插件,利用easyui可以创建很多好看的网页界面效果,easyui的相关地址是:http://jquery-easyui.wikidot.com/: easyui的中文文档地址是:http://www.easyui.net/,本人也利用easeyUI在做一些页面效果.由于我很喜欢那种弹出的对话框界面,因此在界面中应用了Dialog类来处理一些确认…
在c++代码的陪伴下快乐的长大 学了c++也快一年了,在这里把自己的心得体会说一下吧. 1.感觉自己这一年做过的代码行数也不少,博客点击量和浏览量却不是很多,可能是自己所编的程序里面都是很基础的吧,对于排名我不做太多的说明了,因为我觉得这个我看的不是很重,毕竟学到东西才是最重要的. 2.跟着贺老师学习,我感觉自己的学习方法有所改变,学习东西不再那么死板,加入自己的思维,不是只是依照课本去编程,而是有自己的思路和想法.对于学习中存在的不足吧,我觉得就是自己对于有一些比较难的程序研究不下去.所以,造…
通过浏览器F12开发工具快速获取别的网站前端代码的方法 说明:直接另存为网页是比较老的做法,会有很多没用的东西下载下来.通过F12开发工具,sources获取到的是比较好的,有目录结构的源文件.…
自学Python之路 自学Python2.1-基本数据类型-字符串方法 下 class str(object): """ str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str Create a new string object from the given object. If encoding or errors is specified, then the object…
eclipse快速复制一行代码(向下/向上)快捷键修改设置 2015年10月05日 17:46:57 xiaoguanglgc 阅读数:20906 标签: eclipse快速复制一行快捷键冲突英特尔 更多 个人分类: Eclipse使用技巧   问题 Eclipse默认的快速复制一行的快捷键为: 1)Ctrl + Alt + Up(向上方向键):在本行上方插入一行,内容与本行相同 2)Ctrl + Alt + Down(向下方向键):在本行下方插入一行,内容与本行相同 但英特尔核心显卡的驱动已经…
咱们已经了解了如何将代码恢复至某一版本,但是通过Local History恢复代码有的时候并不方便,例如咱们将项目中的代码进行了多处修改,这时通过Local History恢复代码就显得很麻烦,因为它更倾向于恢复某一个文件的修改. 因此,如果咱们的项目是通过Subversion也就是SVN检出的,那么咱们就多了一种恢复代码的方法,即通过Subversion进行Revert操作. 操作步骤: 标注1:项目名称 标注2:Subversion 标注3:Revert 如上图所示,先鼠标右键点击项目名称,…
在咱们正常开发项目的时候,难免遇到在开发过程中由于某种原因,想要将代码恢复到前一版本的情景.特别是在咱们删除了某些代码,想要恢复之前删除的代码的时候,了解这个在 IntelliJ IDEA 中恢复代码的方法就显得尤为重要啦!现在,以博主之前写的测试代码为例,进行详细的讲解: 如上图所示,这是博主之前写的测试恒等运算符和equals()区别的测试类.接下来,咱们在这段代码中添加一条输出语句: 如上图所示,咱们添加了一条输出hello world的代码.现在嘛,有这样一个场景,那就是:要求咱们仅输出…
test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下 Maven的标准工程结构 Maven的标准工程结构如下: |-- pom.xml(maven的核心配置文件) |-- src |-- main |   `-- java(java源代码目录) |   `-- resources(资源文件目录) |-- test `-- java(单元测试代码目录) |-- target(输出目录,所有的输出物都存放在这个目录下) |-- classes(编译后的clas…
javascript代码实用方法实现   针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格.   1.获取get请求中的参数  Js代码  function getPara(para){ if(location.href.indexOf("?") == -1){ // 没有参数,则Do nothing. return null; } else{ // 取得GET请求?号后面的字符串 var urlQuery = …
参考: hankcs http://www.hankcs.com/program/java/lucene-combat-2nd-edition-book-with-code-compiled-under-the-idea.html 最基础的Ant编译: 点击右边的加号载入lia2e下的build.xml脚本,接着在列表里双击某单元对应的程序就行了: 通过IDEA Configuration编译运行: 新建一个控制台配置,选择主类: 编译运行报错: java: 找不到符号 符号:   方法 nex…
对一个字符串拼接有三种方法:加号,contact方法,StringBuffer或者StringBuilder的append方法,其中加号是最常用的.其他两种方式偶尔会出现在一些开源项目中,那么这三者有什么区别? //加号拼接 str += "c"; //concat方法连接 str = str.concat("c"); 以上是两种不同的字符串拼接方式,循环5万次后再检查执行的时间,加号方式执行的时间是1438毫秒,而concat方法的执行时间是703毫秒,时间相差一…
一.场景: 我们来看一个场景,统计一个省的各科高考科目考试的平均分. 当然使用数据库中的一个SQL语句就能求出平均值,不过这个不再我们的考虑之列,这里只考虑使用纯Java的方式来解决.(由于我的机器配置比较好,用80万的数据量有点小,各个统计结果不明显,不能更加显著的说明明问题...这里改为800万) 看代码: import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.uti…
覆写equals方法必须覆写hashCode方法,这条规则基本上每个Javaer都知道,这也是JDK API上反复说明的,不过为什么要这样做呢?这两个方法之间有什么关系呢?本建议就来解释该问题,我们先来看如下代码: public static void main(String[] args) { // Person类的实例作为Map的key Map<Person, Object> map = new HashMap<Person, Object>() { { put(new Per…