再见了,Linq to SQL,我们会想念你的!
再见了,Linq to SQL,我们会想念你的!
从DBML文件中,我学到了太多的东西,不知道为什么微软在推出linq to sql后,不对它进行支持了,可能是一山不容二虎吧,entity frameworks的崛起不是偶然的,事实上在推出linq to sql之前,微软早就推出了自己的ORM架构,即entity frameworks,有时我们叫它EDMX或者EF,它是幸运的,从发布1.0至今,一直是小微的宠儿,目前5.0已经出来了,给人的感觉就是操作简单,对它的插件支持比较多,由于使用了T4模板,所以扩展性非常方便,这可能是它对linq to sql胜出的一个原因,其次它还支持其它数据源,而linq to sql目前只支持sqlserver,而无论ef多次优秀,但我看来,linq to sql就像是我的初恋,总有它固定的地位,在我心里永远为linq to sql留着,事实上,说是初恋可能有点离谱了,但最起码它叫我的“面向对象”的程序设计有了全新的认识,对C#语言的“艺术性”有了全新的认识,是它让我真正爱上了.net,爱上了程序开发。
有时,我们应该想想它的美:
一 永远为用户(程序员)考虑,把确定不也的东西先设计成partial ==> partial class
二 为用户预留出一些接口,让用户根据自己的需要去实现 ==> partial method
三 对于linq技术,它走在了最前面 ==>most of lambda expression
四 对于.net的新技术,它是一个倡导者 ==> auto property (get;set;) Expression Func<T> Action<T> Class Initialization
五 对于数据处理,它提出的延时加载,封装了IQueryable可查询结果集的概念
六 它完成支持SQL的存储过程和视图,这一点比早期的EF要优秀
七 在DBML中,你可以根据自己的要求去为"属性赋值"前后,订阅一些事件,这一点,我觉得对我很有帮助
八 方便快捷的ORM对象,把传统的数据库操作转化为了表实体操作