摘要: EF6引入一个弹性连接的功能,也就是允许重新尝试执行失败的数据库操作。某些复杂的场景中,可能需要启用或停用重试执行的策略,但是EF框架暂时尚未提供直接的设置开关,将来可能会加入这种配置。幸运的是,很容易自己实现该设置功能。 最简单的注册执行策略的方法是通过基于代码的配置。下面代码是一个典型的配置类, 阅读全文
posted @ 2016-04-25 08:42 一飞·张 阅读(877) 评论(0) 推荐(1) 编辑
摘要: C#泛型是一种高复用性、安全和高效的技术,通过类型参数可以将参数的声明、实现推迟到客户代码中。但是这种延迟却降低了类型参数在泛型定义中的可操作性。例如资源释放。 但是如果T实现了IDisposable接口,则上面代码可能存在资源泄露的风险。但是由于不知道T是否实现了IDisposable接口,所以不 阅读全文
posted @ 2016-04-24 08:09 一飞·张 阅读(702) 评论(0) 推荐(0) 编辑
摘要: EF6开始提供了通过async和await关键字实现异步查询和保存的支持(.net 4.5及更高版本)。虽然不是所有的操作都能从异步中获益,但是耗时的操作、网络或IO密集型任务中,使用异步可以提升客户端性能和增强服务器的扩展性。 本文将覆盖一下主题: 实例演练异步操作 创建模型 创建同步程序 改为异 阅读全文
posted @ 2016-04-23 19:43 一飞·张 阅读(2700) 评论(0) 推荐(0) 编辑
摘要: EF框架对数据库的连接提供了一系列的默认行为,通常情况下不需要我们太多的关注。但是,这种封装,降低了灵活性,有时我们需要对数据库连接加以控制。 EF提供了两种方案控制数据库连接: 传递到Context的连接; Database.Connnection.Open(); 下面详解。 传递到Context 阅读全文
posted @ 2016-04-23 18:36 一飞·张 阅读(6802) 评论(0) 推荐(1) 编辑
摘要: Entity Framework 6以前,框架本身并没有提供显式的事务处理方案,在EF6中提供了事务处理的API。 所有版本的EF,只要你调用SaveChanges方法进行插入、修改或删除,EF框架会自动将该操作进行事务包装。这种方法无法对事务进行显式的控制,例如新建事务等,可能会造成事务的粒度非常 阅读全文
posted @ 2016-04-23 09:15 一飞·张 阅读(20270) 评论(1) 推荐(4) 编辑
摘要: string是C#.net 的简单基本数据类型(CTS中除了接口、类、委托、Object)的唯一引用类型,而且有着一些特殊的地方,使用不当可能会埋下很大的隐患。 1、字符串长度和 字符串内存长度 字符串的长度是字符串的字符个数,中文字或符号也算一个字符,例如 string msg=”Hello中国!”; // 感叹号为中中文感叹号 上面字符串长度为 8 ,字符串占用内存字节数 :... 阅读全文
posted @ 2016-03-31 20:33 一飞·张 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 2016年3月30日,微软发布了Visual Studio 2015 Update 2 。 更新内容: Visual Studio Visual Studio Tools for Apache Cordova Visual Studio Tools for Universal Windows App Development Visual C++ C# and Visual Basic ... 阅读全文
posted @ 2016-03-31 11:03 一飞·张 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。 如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难被检查到,所以我们在设计方法参数的时候,要充分考虑传递引用类型参数或者引用方式传递引用类型参数可能 阅读全文
posted @ 2016-03-30 03:15 一飞·张 阅读(16608) 评论(0) 推荐(2) 编辑
摘要: 为了跨平台调试,在Mac Air使用Bootscamp安装了Windows 8.1,但是经常出现system_thread_exceptions_not_handled(Wpprecorder.sys)的故障,并导致蓝屏,只有通过修复系统才能正常启动。但是过一段时间又会出现,经过反复尝试,最终解决。 阅读全文
posted @ 2016-03-29 23:44 一飞·张 阅读(5994) 评论(0) 推荐(0) 编辑