C# 3.0 入门系列(linq)(二)

 

在第一篇中,我已经和大家简单介绍了linq 。也和大家提起linqC# 3.0 里的一个特性。不过,你去装linq priview 时,你会发现,它提供了许多vblinq 代码。从现在的情况看,linq 会被移植到.net framework 下。在本篇中,笔者将开始更加详细的介绍dlinq 。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008  beta 2版本。可以到
 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 的数据库文件。如图所示,把它附加到你的服务器上。因为NORTHWNDSQL SERVER 附带的例子数据库,你可能需要将原来的删掉,才能附加新的上去。
你也可以到http://msdn2.microsoft.com/en-us/bb330936.aspx 下载for beta2sample 。其数据文件的路径为,LinqSamples\SampleQueries\Data
C# 3.0 入门系列(linq)(二)_第1张图片
你在附加这个数据库的时候,有可能碰到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 。先让我们来看看大体的一个界面。


C# 3.0 入门系列(linq)(二)_第2张图片
 <!-- [endif]-->

界面做的很漂亮也很简洁。选择左边目录树,第一个主接点是linq101 例子,前面我也和大家讲过来linq 的主要是针对内存操作。dlinq 才是针对数据库操作。我们的重点依然在dlinq 上。如图所示,选择where 接点中第一个,然后右边代码区会显示该段代码,点run sample! ,下面会首先出现程序翻译的sql 语句,再下面是返回的数据集。(http://www.my400800.cn

在正式讲解dlinq 的语法前,笔者也许还要把northwind 数据库中的表以及表之间的关系简单地和大家交代下。



C# 3.0 入门系列(linq)(二)_第3张图片
 

几个表的关系如上图。我们常用的几个要说明下。一个是Customers 表为客户表,一个是Orders 表为订单表,一个是Products 表为产品表,最后一个是Order Details 表,为订单详细表。因为northwind 是大家已经很熟悉的一个数据库,我就不再做赘言。 下章,我将依然为大家准备最关键的一个环节,影射文件。


你可能感兴趣的:(sql,C++,c,server,C#,LINQ)