上一页 1 ··· 268 269 270 271 272 273 274 275 276 ··· 382 下一页
摘要: 回到目录在编程世界里,使用“否定式”不是一件好事,因为它的可读性并不高,但有时,为了让使用者减少代码量,还是使用了双重否定,直到DefaultValue的出现,它改变了这一切,它可以为你的属性设置你想要的默认值,如bool类型默认值是false,而如果你希望它的默认值是true,就需要用到DefaultValue这个特性了。这是我IUnitOfWork代码片断 /// /// 工作单元 /// 提供一个保存方法,它可以对调用层公开,为了减少连库次数 /// public interface IUnitOfWork { /// ... 阅读全文
posted @ 2013-08-26 16:53 张占岭 阅读(3499) 评论(4) 推荐(2)
摘要: 回到目录对于大数据量提交,包括插入,更新和删除,我始终不建议用EF自带的方法,因为它会增加与数据库的交互次数,一般地,EF的一个上下文在提交时会打开一个数据连接,然后把转换成的SQL语句一条一条的发到数据库端,然后去提交,试想,如果你的数据量达到万级别(更不用说百万,千万数据了),那对数据库的压力是很大的,所以,我将EF批量操作语句进行了改版,并起名为BulkInsert,BulkUpdate和BulkDelete,事实上,在我之前的版本中并没有涉及到批次提交的概念,直到遇到了实际的问题,当你使用BulkInsert时,如果数据达到4万之前,那在SQL的解释时,也是很有压力的,有多情况下会超时 阅读全文
posted @ 2013-08-24 08:20 张占岭 阅读(5946) 评论(3) 推荐(3)
摘要: 事情是这样的,有一个列表,里面有很多用户信息,可能会有重复的用户,将这个列表的用户插入到数据表中,如果用户已经存在,就更新这个用户的FillTimes 字段,让它加1,使用的底层ORM是entity frameworks4。这是方法的大概内容 var user_Account = iC_User_Account.Find(i => i.UserID == u.UserID); if (user_Account == null) { iRepository.Insert(new C_User_Acco... 阅读全文
posted @ 2013-08-19 14:27 张占岭 阅读(7080) 评论(2) 推荐(0)
摘要: 回到目录之前说过有关拦截器的文章,第二回 缓存拦截器,事实上,在那讲里说的最多是AOP和缓存组件,对于拦截的概念并没有详细的说明,这一讲,不说AOP,主要说一下拦截器,拦截器Interception,主要是在方法执行前或者执行后,动态添加一些行为,而这个行为主要包含缓存,日志,异常处理及你可以想到的所有的一切,呵呵。这一讲是异常拦截器,它的主要意义在于,当你的一个方法被执行时,你可以通过配置文件去管理这个方法执行前与执行后是否附加统一异常处理行为。拦截器组件我们还是用Unity.InterceptionExtension,它依附于Unity,当你没有安装Unity时,Unity.Interce 阅读全文
posted @ 2013-08-10 22:30 张占岭 阅读(2949) 评论(1) 推荐(3)
摘要: 回到占占推荐博客索引 核心组件 我心中的核心组件,核心组件就是我认为在项目中比较常用的功能,如日志,异常处理,消息,邮件,队列服务,调度,缓存,持久化,分布式文件存储,NoSQL存储,IoC容器,方法拦截等等。 对于以上内容可以说即是一个大餐,又是一个挑战,就让我带着大家去迎接这份挑战吧,呵呵! 可 阅读全文
posted @ 2013-08-09 11:42 张占岭 阅读(5050) 评论(0) 推荐(11)
上一页 1 ··· 268 269 270 271 272 273 274 275 276 ··· 382 下一页