在第一篇中,我已经和大家简单介绍了linq。也和大家提起linq是C# 3.0里的一个特性。不过,你去装linq priview时,你会发现,它提供了许多vb的linq代码。从现在的情况看,linq会被移植到.net framework下。在本篇中,笔者将开始更加详细的介绍dlinq。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008 beta2版本。可以到
http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx 下载。如果,你的机器上是vs2005的英文版,你还需要安装一个linq preview版本。你可以到下面地址去下载。
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en
以后的章节中,笔者将会配合这个版本,进行讲解,并对它里面提供的例子进行详细的说明。
安装linq preview后,你可以在安装目录下,找到安装程序提供的例子。C# 的应该在C:\Program Files\LINQ Preview\C#\Samples\SampleQueries目录下。打开该工程。因为dlinq主要是对数据库进行操作,你还需要准备数据库。例程给你提供的数据库是用.\SQLEXPRESS来实现的。说实话,这个版本的数据库实在是难用。我建议大家使用SQL2000 or SQL2005. 你可以在C:\Program Files\LINQ Preview\Data目录下找到一个叫做NORTHWND的数据库文件。如图所示,把它附加到你的服务器上。因为NORTHWND是SQL SERVER附带的例子数据库,你可能需要将原来的删掉,才能附加新的上去。
你也可以到http://msdn2.microsoft.com/en-us/bb330936.aspx 下载for beta2的sample。其数据文件的路径为,LinqSamples\SampleQueries\Data
你在附加这个数据库的时候,有可能碰到SQL2000 附加不上去的问题。你可以给我留言,我这里有SQL2000 的数据库备份。在附加完数据库后,你需要修改程序文件了,让SampleQueries的程序使用你刚附加的数据库。打开SampleQueries的程序,在Solution Explorer中找到DLinqSamples.cs文件,打开它,找到24行。如下的代码。
一切都准备好以后,我们就可以来看这个例子了。笔者在这么没有兴趣讲解SampleQueries是如何设计的,也没有兴趣讲解它是如何取到code的。这里我们只讲dlinq。先让我们来看看大体的一个界面。
界面做的很漂亮也很简洁。选择左边目录树,第一个主接点是linq的101例子,前面我也和大家讲过来linq的主要是针对内存操作。dlinq才是针对数据库操作。我们的重点依然在dlinq上。如图所示,选择where接点中第一个,然后右边代码区会显示该段代码,点run sample!,下面会首先出现程序翻译的sql语句,再下面是返回的数据集。
在正式讲解dlinq的语法前,笔者也许还要把northwind数据库中的表以及表之间的关系简单地和大家交代下。
几个表的关系如上图。我们常用的几个要说明下。一个是Customers表为客户表,一个是Orders表为订单表,一个是Products表为产品表,最后一个是Order Details表,为订单详细表。因为northwind是大家已经很熟悉的一个数据库,我就不再做赘言。 下章,我将依然为大家准备最关键的一个环节,影射文件。
http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx 下载。如果,你的机器上是vs2005的英文版,你还需要安装一个linq preview版本。你可以到下面地址去下载。
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en
以后的章节中,笔者将会配合这个版本,进行讲解,并对它里面提供的例子进行详细的说明。
安装linq preview后,你可以在安装目录下,找到安装程序提供的例子。C# 的应该在C:\Program Files\LINQ Preview\C#\Samples\SampleQueries目录下。打开该工程。因为dlinq主要是对数据库进行操作,你还需要准备数据库。例程给你提供的数据库是用.\SQLEXPRESS来实现的。说实话,这个版本的数据库实在是难用。我建议大家使用SQL2000 or SQL2005. 你可以在C:\Program Files\LINQ Preview\Data目录下找到一个叫做NORTHWND的数据库文件。如图所示,把它附加到你的服务器上。因为NORTHWND是SQL SERVER附带的例子数据库,你可能需要将原来的删掉,才能附加新的上去。
你也可以到http://msdn2.microsoft.com/en-us/bb330936.aspx 下载for beta2的sample。其数据文件的路径为,LinqSamples\SampleQueries\Data
你在附加这个数据库的时候,有可能碰到SQL2000 附加不上去的问题。你可以给我留言,我这里有SQL2000 的数据库备份。在附加完数据库后,你需要修改程序文件了,让SampleQueries的程序使用你刚附加的数据库。打开SampleQueries的程序,在Solution Explorer中找到DLinqSamples.cs文件,打开它,找到24行。如下的代码。
private readonly static string connString = "AttachDBFileName='" + dbPath + "';Server='" + sqlServerInstance + "';Integrated Security=SSPI;enlist=false";
将它替换为
private readonly static string connString = "Server=yourSever;Database=northwind;User=yourname;Password=yourPassword";
这样,你就可以使用你刚附加的数据库了。或许你要问为什么非要用这个新的数据库,为什么不用SQL SERVER附带,那是因为在这个新的数据库中,我们添加了许多新的东西。^_^一切都准备好以后,我们就可以来看这个例子了。笔者在这么没有兴趣讲解SampleQueries是如何设计的,也没有兴趣讲解它是如何取到code的。这里我们只讲dlinq。先让我们来看看大体的一个界面。
界面做的很漂亮也很简洁。选择左边目录树,第一个主接点是linq的101例子,前面我也和大家讲过来linq的主要是针对内存操作。dlinq才是针对数据库操作。我们的重点依然在dlinq上。如图所示,选择where接点中第一个,然后右边代码区会显示该段代码,点run sample!,下面会首先出现程序翻译的sql语句,再下面是返回的数据集。
在正式讲解dlinq的语法前,笔者也许还要把northwind数据库中的表以及表之间的关系简单地和大家交代下。
几个表的关系如上图。我们常用的几个要说明下。一个是Customers表为客户表,一个是Orders表为订单表,一个是Products表为产品表,最后一个是Order Details表,为订单详细表。因为northwind是大家已经很熟悉的一个数据库,我就不再做赘言。 下章,我将依然为大家准备最关键的一个环节,影射文件。