代码改变世界

阅读排行榜

扩展LINQ to Entity:使用Lambda Expression批量删除数据------让微软帮我们生成T-SQL语句

2012-06-28 23:31 by stevey, 4784 阅读, 收藏,
摘要: 我们在使用EF(ADO.NET Entity Framework)的时候,大部分的的是查询操作,当然Insert,Update,Delete是没有问题的。但如果我们想要批量删除数据,那该怎么做呢?然后就尝试着去寻找一些方法,而后看到老赵的《扩展LINQ to SQL:使用Lambda Expression批量删除数据》,从中获益匪浅,学到不少东西,非常感谢。老赵的方法中需要解析Lambda Expression(当然也是正规的必经之路),来生成where条件及整个T-SQL语句,那么解析Expression需要考虑到很多方面,所以要实现一个比较完善的解析方法,目前来说比较复杂,要花费大量的.. 阅读全文

[原创] 从列表页面“切换”到详细页面---两个神奇的div

2012-01-03 22:33 by stevey, 3107 阅读, 收藏,
摘要: 需求场景:在我们做web 前段开发的时候,可能会遇到这样的场景。在一个列表(list)页面,如下图:当我们前进到第10页时候,选中一条数据,点击编辑,会跳转到如下的详细(detail)页面,如图:提出问题:我们是如何跳转到这个详细页面的呢?1.最直接的方法,window.location=details.aspx.现在问题来了,如果是直接重定向到详细页面,那么在返回列表的时候,会不会遇到什么问题。在返回的时候,假设返回执行的代码:window.location=list.aspx。这样就会返回到列表,没错,可是回到了列表的第一页啊。上面假设的这种跳转,会出现“状态”丢失的情况。或许有同学说了, 阅读全文

Expression Tree实践之通用Parse方法------"让CLR帮我写代码"

2012-05-07 23:54 by stevey, 2339 阅读, 收藏,
摘要: 近来特别关注了Expression Tree 这个c#3.0以来的新特性之一。也尝试着寻找和使用它的最佳实践,通过阅读学习博客园内几位大牛写的相关文章,也算是入门了。它可以说功能强大,或许会让你意外的惊叹,比如:为什么之前有linq to everywhere的趋势,为什么可以linq to entity等。它使得我们可以动态的创建代码(匿名函数),而不是在编译时就硬编码这些代码。 下面就通过一个简单的需求,来一步一步分析重构,最终得到一个较好的实现吧。 题目:比如有这样一个字符串(“1,2,3,4,5”或者"1.1#2.2#3.3#4.0#5.1"),需要将它按照分隔符转 阅读全文

由“使用存储过程”引发的一些思考(高手请进)

2012-02-22 23:53 by stevey, 2329 阅读, 收藏,
摘要: 在以前ado.net时候,我们使用存储过程返回一个列表,可以将结果集放在DataTable中,如果我们需要将结果集放在一个强类型集合(如List<T>)中我们该怎么做呢?之前在网上看到过一种解决方法,忘记出处了,请谅解。大概思路是:在用DataReader读取一行记录时,将该行创建为一个对象,然后添加到列表中。 我在EF3.5中使用存储过程,需要在edmx(领域模型中)文件中做函数导入(Function Import),并且返回值类型必须是数据库中已存在的实体。这样做的缺憾(不够灵活)如下: 1、必须要函数导入,如果后来修改或更新实体模型,要维护该函数。(可以接受) 2、存储过程返 阅读全文

读《.NET设计规范》之命名规范的总结

2012-02-09 22:07 by stevey, 2129 阅读, 收藏,
摘要: 《.NET 设计规范》是数千名微软精锐开发人员的经验和智慧,最终浓缩在这本设计规范之中。它指导着.NET Framework几个版本的开发,和微软windows操作系统的下一代API---WinFX开发。上面这些话是C#之父说的,不是我。它指导着微软内部开发规范,可见是一本非常好的书,而且博客园的其他大牛也推荐过的,是一本修炼内功的武功秘籍。为什么需要命名规范?1、提高框架的可用性,一致性。使的不同项目的开发人员使用同一个框架成为可能。大到一个Framework,小到一些控件(Grid)或者封装的库,他们中的API都是为其他开发者所使用的,固良好的命名很重要。就比如:.NET Framew.. 阅读全文