在第一篇中,我已经和大家简单介绍了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行。如下的代码。

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是大家已经很熟悉的一个数据库,我就不再做赘言。 下章,我将依然为大家准备最关键的一个环节,影射文件。

转载于:https://www.cnblogs.com/bepare/archive/2007/10/20/931287.html

[转]C# 3.0入门系列(二)相关推荐

  1. C# 3.0入门系列

    目录导航 1 C# 3.0 入门系列(一) 从linq开始引C# 3.0. 2 C# 3.0入门系列(二) 数据库的准备,引入Linq To Sql的准备. 3 C# 3.0入门系列(三) 第一个Li ...

  2. 机器学习入门系列二(关键词:多变量(非)线性回归,批处理,特征缩放,正规方程

    机器学习入门系列二(关键词:多变量(非)线性回归,批处理,特征缩放,正规方程) 目录(?)[+] 一多变量的线性回归 二批处理 三特征缩放 四正规方程 五多变量非线性回归 一.多变量的线性回归 在#机 ...

  3. C语言速看,C语言高速入门系列(二)

    C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...

  4. Quantopian 入门系列二 - 流水线 (下)

    本文含 8225 字,28 图表截屏 建议阅读 42 分钟 本贴接着上贴[Quantopian 入门系列二 - 流水线 (上)]的内容,讨论下面目录的 5- 8 节: 简介 因子 筛选器 分类器 掩码 ...

  5. 小猪的C语言快速入门系列(二)

    小猪的C语言快速入门系列(二) 标签: C语言 本节引言 在上一节中,对于C语言有了一个初步的了解,学会了如何使用IDE来进行 代码编写,编译和运行.而这一节,我们会对C语言的基本语法进行学习, C语 ...

  6. C#3.0入门系列(五)-之Where操作

    从本节开始,本文正式更名为C#3.0入门系列.先发布一则消息,VS2007 Beta版本已经发布咯,下载地址: http://www.microsoft.com/downloads/details.a ...

  7. WF4.0入门系列1——创建一个简单的工作流

    WF4.0入门系列1--创建一个简单的工作流 打开VS2010,选择文件-新建-项目,选择Workflow项 工作流台应用程序,在名称处输入chapter01,选择合适的位置,这里默认,单击确定. V ...

  8. 【转】C#3.0入门系列(九)-之GroupBy操作

    原文:http://www.cnblogs.com/126/archive/2007/07/10/812621.html 有朋友反馈说我提供的sample不能编译.大概是版本的问题,可以到http:/ ...

  9. Reflex WMS入门系列二十五:将叉车纳入系统进行管理

    Reflex WMS入门系列二十五:将叉车纳入系统进行管理 据笔者所知,SAP WM 模块里是不对仓库里常用的叉车等仓库管理工具进行管理的.笔者发现,Reflex WMS系统则会在很多仓库部门日常操作 ...

  10. Reflex WMS入门系列二十二:物料库存报表

    Reflex WMS入门系列二十二:物料库存报表 在Reflex WMS系统上,我们可以通过物料号查询它的HD列表,或者IPG列表.通过在其HD/IPG信息得知其库存数据.当然还可以通过如下方式直接获 ...

最新文章

  1. [Contest20180415]看无可看
  2. python做软件-用python做个翻译小软件吧~
  3. 2015年创业中遇到的技术问题:41-50
  4. 【渝粤题库】广东开放大学社会学概论形成性考核
  5. java bitmap jar_Java面试中常用的BitMap代码
  6. 改进MySQL Order By Rand()的低效率
  7. EF---延迟加载技术
  8. python 函数式编程 库_使用Python的toolz库开始函数式编程的方法
  9. Debian操作系统的源配置信息详解--Source.list配置文件详解
  10. 开发者该如何进行小程序技术选型?
  11. linux查找以h结尾的文件,linux中文件查找的常用命令
  12. 【Git/Github学习笔记】Git常用命令(版本回退)
  13. 快速切换npm源的开源工具--nrm
  14. 第三届上海市青少年算法竞赛(小学组)
  15. 如何快速构建社交APP中的语音房
  16. USB PD快充协议详解(待续)
  17. 迅雷调用Potplayer边下边播
  18. java lzma解压_lzma-java
  19. (C语言)实现基于PHP的某公司自来水收费管理系统
  20. java计算机毕业设计心灵治愈服务平台源码+mysql数据库+lw文档+系统+调试部署

热门文章

  1. 封装JedisClient.提供API实现对redis的操作
  2. 磁盘IO单线程顺序写时最快的,如果多线程写,磁盘的磁头要不断重新寻址,所以写入速度反而会慢...
  3. 百度直达号选错了对手 阿里腾讯还太嫩 干掉美团更直接
  4. varnish运行机制及管理优化
  5. 用 JNI 进行 Java 编程(1)
  6. java毕业设计选题之《校园管理、教育教学类》
  7. 获取类型的完全限定名
  8. Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior
  9. 「代码随想录」70. 爬楼梯【动态规划】(完全背包解法)
  10. 「leetcode」435. 无重叠区间【贪心算法】详细图解