背景 昨天发布了一个编号生成器(http://www.cnblogs.com/happyframework/p/3177128.html),有朋友留言问支不支持某些规则,因为是可以扩展的,所以很容易支持各种规则,今天我就写了另外两种规则,也是对留言的朋友做一个回复。 留言A 留言 ...
背景 应用程序引导经常要做如下这些事情: 动态加载DLL 或各种插件 。 注册IOC容器。 设置其他全局配置。 尤其以注册IOC容器的代码最烦人,看一个我昨天写的烦人代码: 是不是很糟糕,看着不爽。这也是我写这篇文章的目的。 新框架原理 约定胜于配置 用新框架重新昨天的配置代码 这样是不是看着舒服多了。 备注 代码示例,可以直接去http: happy.codeplex.com SourceCon ...
2013-05-22 08:35 10 1730 推荐指数:
背景 昨天发布了一个编号生成器(http://www.cnblogs.com/happyframework/p/3177128.html),有朋友留言问支不支持某些规则,因为是可以扩展的,所以很容易支持各种规则,今天我就写了另外两种规则,也是对留言的朋友做一个回复。 留言A 留言 ...
前面介绍了仓储的基本操作,下面准备开始扩展查询,在扩展查询之前,首先要增加两个公共操作类,一个是经常要用到的验证方法,另一个是Lambda表达式的操作类。 很多时候,我们会判断一个对象是否为null,由于null是一个不能接受的值,它会导致“未将对象引用设置到对象的实例”的严重错误 ...
上一篇介绍了IQueryable的Where方法存在的问题,并扩展了一个名为Filter的过滤方法,它是Where方法的增强版。本篇将介绍查询的另一个重要主题——分页与排序。 对于任何一个信息系统,查询都需要分页,因为不可能直接返回表中的所有数据。 如果直接使用原始的Ado.Net ...
上面两篇已经作好准备,本文将进行基础查询扩展。当使用了Entity Framework这样的ORM框架以后,我们查询的核心被集中在IQueryable的Where方法上。 如果UI需要通过姓名查询一个客户,会在UI上放置一个输入框作为客户姓名的查询条件。服务端接收以后通过Where方法 ...
上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展。 修改Util项目的Extensions.Expression.cs文件,代码如下。 在Util项目中添加Operator枚举,代码 ...
当你使用可空的值类型时,你会发现取值很不方便,比如Guid? obj,你要从obj中获取值,可以使用Value属性obj. Value,但obj可能为null,这时候就会抛出一个异常。 可空 ...
敏捷时代的来临,迫使微软.Net技术也在向敏捷方向发展。近几年,.Net在数据访问、Web、测试等多个领域大刀阔斧的进行改革,新技术不断涌现。一方面这是值得庆幸的,让.Net程序员在开发复杂项目有了更多的选择,一改往日只能拖控件绑定数据的局面。另一方面,程序员需要大量的学习,并且需要依赖更多 ...
对于程序员来说,如果要提高编程效率,一个好用的,功能强大的并且可以得心应手使用的编程工具往往会给我们程序员带来莫大的方便。其实对于现在的编程工具来说,使用哪一种工具都不是问题的关键,重要的是你能够使用到什么程度,毕竟现在的工具都是非常的强大,对于一般的编程任务来说还没有不能够胜任的工具,否则的话 ...