zoukankan      html  css  js  c++  java
  • 再见了,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对象,把传统的数据库操作转化为了表实体操作

  • 相关阅读:
    python 利用正则表达的式提取特定数据如手机号
    python 横向比较最大值 贴标签
    Go语言基础之17--Redis基本操作
    Mysql5.7.20源码编译安装
    Go语言基础之16--Mysql基本操作
    Go语言学习包(1)之bufio包
    Go语言基础之15--文件基本操作
    Go语言基础练习题系列5
    Go语言基础之14--Waitgroup和原子操作
    Go语言基础之13--线程安全及互斥锁和读写锁
  • 原文地址:https://www.cnblogs.com/lori/p/2750381.html
Copyright © 2011-2022 走看看