在.Net Framework 3.5 中,最激动人心的就是增加了LINQ功能,LINQ在数据集成的基础上提供了新的轻型方式。有了LINQ,我们创建的查询现在就编程了.Net 框架的一个成员,在对要操作的数据存储执行查询时,会很快发现他们现在的操作方式类似于系统中的类型。这说明,现在可以使用任意兼容.Net 的语言来查询底层的数据存储,这在以前是不可能的。

根据要在应用程序中处理的底层数据的不同,有不同类型的LINQ功能:

LINQ to Objects

对象只不过是存储在内存中的数据,对象本身可能就是查询数据,此时可以使用LINQ to Objects

LINQ to SQL、LINQ to DataSets 和 LINQ to Entities 提供了查询关系型数据的方式,直接访问数据和存储过程,及表示表示体之间的关系,执行添删改查。

LINQ to XML

LINQ to SQL 和 Visual Studio 2008

LINQ to SQL 是在SQL Server 数据库上设置一个强类型化界面的方式,提供了目前查询SQL Server 最简单的方法。

下面要创建一个示例,从Northwind数据库(SQL Server 2000 示例数据库 现在只能到网上搜索下载了)的Products 表中提取数据项

一,用VSTS 2008 新建一个C# Web 应用程序(.Net 3.5)

二,右键为项目添加一个LINQ to SQL 类 并为其命名为和数据库相同的名字,容易识别。

确定,结果如下,可见OR设计器被打开

OR设计器由两部分组成:

左边部分用于显示数据类,它可以是表、类、关联和继承。

右边部分用于显示方法,这些方法映射到数据库中的存储过程上。

三,创建表对象

在创建表对象之前,我们先用服务器资源管理器建立对Northwind数据库的引用。

右键数据连接节点->添加连接,打开添加连接对话框

输入服务器名,密码,并选择数据库之后点确定按钮。数据库被添加了进来。

打开此数据库的表文件夹,选择Product 表用鼠标直接拖动到OR设计器上,结果如下

同时Web.Config 文件中会添加如下的连接信息,在Northwind.designer.cs文件中还会添加相应的映射设计代码

<connectionStrings><add name="NorthwindConnectionString" connectionString="Data Source=TERRYFENG-PC;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=saaaaa"providerName="System.Data.SqlClient" />
</connectionStrings>

在OR设计器的属性窗口中,我们可以看到连接串等信息

打开Default.aspx 文件,向其中拖动一个GridView 控件,并在后台添加代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Linq;namespace LINQtoSQL
{public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){NorthwindDataContext dc = new NorthwindDataContext();//NorthwindDataContext 对象是DataContext类型的一个对象//DataContext类型好象一个连接器,为操作提供连接管道服务//var query = dc.Products;// var 是一个隐式的类型化变量,如果不能确定输出类型,就可以使用var来代替类型的定义,再编译期间设置类型。// 事实上dc.Products返回的是一个System.Data.Linq.Table<项目名.Products>对象// 所以也可以用如下的语句来定义类型,这样可以确定类型容易阅读Table<Products> query = dc.Products;//可以筛选结果,并通过简单的属性方式访问每行记录的属性,选择需要的内容foreach (Products item in query){Response.Write(string.Format("{0} | {1} | {2} <br />",item.ProductID, item.ProductName, item.UnitsInStock));}//GridView1.DataSource = query;//GridView1.DataBind();}}
}

F5 运行 即可看到结果中显示了Products 的数据

77条数据被显示

LINQ to SQL 在 Visual Studio 2008 中的简单应用相关推荐

  1. web developer tips (39):在Visual Studio 2008中取消远程web操作

    原文地址:How to cancel a remote web operation in Visual Studio 2008 在vs2005里,连接FTP或FrontPage server后,IDE ...

  2. Visual Studio 2008中常用快捷键

    Visual Studio中的菜单很多,二级菜单也有不少,为了方便还是记点快捷键,既方便又迅速. 命令行: Devenv   启动VS Studion Isqlw      启动SQL2000查询分析 ...

  3. 在Visual Studio 2008中编译snort-2.8.6.1.tar.gz

    snort编译的难度比WebKit要容易的多. 同多数开源软件一样,Cygwin是必不可少的编译工具.如果没有或者不在c盘,需要搜索src目录下所有的文件,搜索字段为cygwin,将vs的项目文件中有 ...

  4. Visual Studio 2008中的jQuery Intellisense

    微软和jQuery的关系越来越紧密了. http://blog.jquery.com/2008/09/28/jquery-microsoft-nokia/ 下面简要描述一下VS2008对jQuery的 ...

  5. Visual Studio 2008 中使用插件Extjs提示的方法

    在VS2008中学习使用Extjs框架开发时,没有属性.方法.函数的智能提示,作为一个初学者,对Extjs框架也不是很熟悉,这样使开发非常困难,所以不得不借助Extjs的帮助文档API查看. 通过在网 ...

  6. 潘正磊谈微软研发团队管理和Visual Studio开发过程中的敏捷实践

    潘正磊谈微软研发团队管理之道 http://www.infoq.com/cn/interviews/team-management-panzhenglei 先给我们介绍一下你自己和你自己现在所做的事情 ...

  7. Visual Studio 2010中C++项目升级指南

    如何升级? Visual Studio 2010支持来自VC6.Visual Studio 2002.Visual Studio 2003.Visual Studio 2005和Visual Stud ...

  8. 在Visual Studio 2010 中使用菱形向导对窗口进行布局

    "一个移动机器人,需要花大量的时间来进行运算,才可以避开环境中的简单的障碍物.人类也一样,只不过他们从未意识到罢了-直到光明消失在地平线.伴随着痛苦,他们才真正体会到需要进行的运算有多少.& ...

  9. 图解Visual Studio 2010中的UML建模功能

    Visual Studio 2010在架构和项目管理方面的功能增加让人眼前一亮,之前曾详细介绍过Visual Studio 2010新增的架构工具,包括通过可视化技术DGML提供直观的图表,依赖图,继 ...

最新文章

  1. GLIBC 升级安装与 SCL 知识盲区
  2. extjs window显示在顶层
  3. linux运维技巧,Linux运维需要掌握的17个实用技巧
  4. Spring Session使用
  5. UVa 740 - Baudot Data Communication Code
  6. SEO关键字优化策略-Google Analytics提高关键字转化的的6步骤
  7. Android Fragment(二)
  8. onvif学习笔记9:OSD命令学习
  9. python字符串转换元组_python 字符串,列表,元组,字典相互转换
  10. java项目.gitignore文件过滤规则
  11. iOS开发 - OC - 实现本地数据存储的几种方式一
  12. JavaScript中的“ new”关键字是什么?
  13. MFC加入mysql后编译成功,在自己电脑上成功运行,当打包发送到其他电脑上报错, 缺少libcrypto-1_1-x64.dll以及缺少libssl-1_1-x64.dll问题解决方案,完美亲测
  14. CAD迷你画图中文版
  15. 智慧城市解决方案(智慧城市系统及相关技术)
  16. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包
  17. 振弦式应变计埋设与安装
  18. 基于java(springboot)校园新闻管理系统源码(java毕业设计)
  19. 公司估值(贴现现金流量法DCF)
  20. 【Unity大气渲染】关于单次大气散射的理论知识

热门文章

  1. Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果...
  2. Hadoop streaming 排序、分桶参数设置
  3. jquery隐藏表格行
  4. 可测试性如何帮助团队提升效率
  5. oracle错误:ORA-12545
  6. 英文谚语:Take that with a grain of salt
  7. NOI.AC NOIP模拟赛 第六场 游记
  8. PWA之push服务
  9. evnetlet hub
  10. PHP curl 实现RESTful PUT DELETE 实例