Linq To Sql学习经验

开发 后端
这里介绍Linq To Sql是Microsoft开发的针对解决data!=object问题的新技术。在笔者的一系列的文章中,对它已经做了大量的介绍。现在,笔者将从经验的角度,谈谈它的优劣。

本文向大家介绍Linq To Sql,可能好多人还不了解Linq To Sql,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

Linq To Sql是Microsoft开发的针对解决data!=object问题的新技术。在笔者的一系列的文章中,对它已经做了大量的介绍。现在,笔者将从经验的角度,谈谈它的优劣。

1、Linq To Sql的优点

在Linq To Sql推出之前,我们只是把sql语句形成一个string,然后,通过ado.net传给sql server,返回结果集.这里的缺陷就是,如果你sql语句写的有问题,只有到运行时才知道.而且并不所有的人都懂数据库的。Linq To SQl 在一切围绕数据的项目内都可以使用。特别是在项目中缺少sql server方面的专家时,Linq To SQl的强大的功能可以帮我们快速的完成项目。Linq To SQl的推出,是让大家从烦琐的技术细节中解脱出来,更加关注项目的逻辑。Linq To Sql的出现,大大降低了数据库应用程序开发的门楷,它实质是事先为你构架了数据访问层,势必将加快数据库应用程序的开发进度。Linq To Sql解放了众多程序员,让他们的把更多的精力放到业务逻辑以及code上,而不是数据库。对于初学者来讲,Linq To Sql可以让他们迅速进入数据库应用程序开发领域,节约了培训成本。

Linq To SQl 的实现,是在ado.net和c#2.0的基础上的。它通过自动翻译sql语句,并把结果集创建成对象并返回。这里我们可以看出,发送到Sql Server端的sql语句是Linq To Sql自动生成的。这对不懂sql的人来说,无疑是个福音。第二,Linq To Sql语句是在编译期间就做检查的。而不是运行时检查。这样,那里出了问题,可以及时更改,而不是到了运行时才发现问题。第三,Linq To Sql是针对对象操作的,更符合今天的oo呼声。

在Linq To SQl 之前,在java领域有Hibernate,在net领域有NHibernate技术,来实现object/relational 持久和查询服务。那和NHibernate比起来,它又有那些优势呢.第一,影射代码自动生成。VS2008提供了SqlMetal和OR Designer两个工具来完成此步骤。而在NHibernate中,你不得不自己手工写。第二,影射代码有更多的选择.NHibernate只能把数据库的信息配置在一个xml中,而Linq To Sql有两种方式,一个是放到xml中,我们称为Externl Mapping, 再一种就是以Attribute的形式,存在于各个property中。当然,笔者本人并没有使用过NHibernate,只是从资料上得到这些消息,所以无法给出更多的比较。

2、Linq To Sql的缺点

很久前,有个网友问到这么一个问题。他在界面上有个DataView,里面绑定了一些Column,然后他勾选那一列就按某列排序。其传回的参数是列的名字。然后问我该怎么用Dlinq 来实现。

在以前拼接Sql语句的年代,这个很简单,一个" order by " + string,想按什么排就按什么来排。而现在dlinq是用是一个对象的属性,已经不可能拼接了。我当时给他的答案是这样的。

【编辑推荐】

  1. LINQ to SQL数据表介绍
  2. LINQ查询的目的与实现手段
  3. LINQ from子句进行复合查询实现方法
  4. LINQ查询表达式功能详解
  5. LINQ基础概念总结
责任编辑:佚名 来源: 新浪博客
相关推荐

2009-09-11 12:08:09

Linq to SQL

2009-09-08 15:27:08

Linq Select

2009-09-10 17:38:04

LINQ技术

2009-09-16 17:13:54

学习Linq

2009-09-16 17:44:54

LINQ to SQL

2009-09-10 13:54:27

LINQ语法

2009-09-17 16:20:43

Linq to sql

2009-09-17 15:51:39

Linq to sql

2009-09-08 10:57:55

LINQ查询操作

2009-09-11 13:29:31

LINQ查询操作

2009-09-08 16:02:47

Linq使用Group

2009-09-17 13:54:26

LINQ to XML

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-18 16:41:46

Linq to sql

2009-09-10 10:37:15

LINQ to SQL

2009-09-16 17:11:35

LINQ To SQL

2009-09-09 18:03:47

LINQ to SQL

2009-09-11 09:41:19

LINQ to SQL

2009-09-18 13:23:27

Northwind对象LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL
点赞
收藏

51CTO技术栈公众号