`
yiyeqinghuasoon
  • 浏览: 645975 次
文章分类
社区版块
存档分类
最新评论

光脚丫学LINQ(016):[演练]创建简单对象模型和LINQ查询(C#)

 
阅读更多

视频演示:http://u.115.com/file/f2e3bc874c

本演练提供了复杂性最低的基本端对端 LINQ to SQL 方案。您将创建一个可为示例 Northwind 数据库中的 Customers 表建模的实体类。 然后您将创建一个简单查询,用于列出位于伦敦的客户。
本演练在设计上是面向代码的,以帮助说明 LINQ to SQL 概念。 一般来说,您会使用对象关系设计器来创建对象模型。 有关更多信息,请参见对象关系设计器(O/R 设计器)。


创建LINQ to SQL解决方案
此任务为第一项任务,在此任务中,您要创建一个 Visual Studio 解决方案,此解决方案包含生成和运行 LINQ to SQL 项目所必需的引用。
1、在 Visual Studio 的“文件”菜单上指向“新建”,然后单击“项目”。
2、在“新建项目”对话框的“项目类型”窗格中,单击“Visual C#”。
3、在“模板”窗格中,单击“控制台应用程序”。
4、在“名称”框中,键入 LinqConsoleApp。
5、在“位置”框中,确认要用于存储项目文件的位置。
6、单击“确定”。

添加LINQ引用和指令
本演练用到默认情况下您的项目中可能未安装的程序集。 如果在您的项目中未将 System.Data.Linq 作为引用列出(在“解决方案资源管理器”中展开“引用”节点),请按照以下步骤中的说明添加它。
1、在“解决方案资源管理器”中,右击“引用”,然后单击“添加引用”。
2、在“添加引用”对话框中,依次单击“.NET”、System.Data.Linq 程序集和“确定”。
此程序集即被添加到项目中。
3、在“Program.cs”的顶部添加以下指令:

将类映射到数据库表
在此步骤中,您将创建一个类,并将其映射到数据库表。 这样的类称为“实体类”。 请注意,只需添加 TableAttribute 属性即可完成映射。 Name 属性指定数据库中的表的名称。
将下面的代码键入或粘贴到 Program.cs 中紧靠在 Program 类声明上方的位置:

在类中指定用于表示数据库列的属性
在此步骤中,您要完成几项任务。
您要使用 ColumnAttribute 属性 (Attribute) 指定实体类中的 CustomerID 和 City 属性 (Property) 表示数据库表中的列。
您要指定 CustomerID 属性表示数据库中的主键列。
您要指定 _CustomerID 和 _City 字段用作私有存储字段。 然后,LINQ to SQL 就可以直接存储和检索值,而不用使用可能包含业务逻辑的公共访问器。

表示两个数据库列的特性
将下面的代码键入或粘贴到 Program.cs 中 Customer 类的大括号内。

指定与Northwind数据库的连接
在此步骤中,使用 DataContext 对象在基于代码的数据结构与数据库本身之间建立连接。 DataContext 是您从数据库中检索对象和提交更改的主要通道。
您还可以针对数据库中的 Customers 表声明 Table<Customer> 作为查询的类型化逻辑表。 您将在后续步骤中创建和执行这些查询。
将下面的代码键入或粘贴到 Main 方法中。
请注意,假定 Northwind.mdf 文件位于 linqtest5 文件夹中。 有关更多信息,请参见本演练前面介绍的“先决条件”一节。

创建简单查询
在此步骤中,您将创建一个查询,查找数据库中的 Customers 表内的哪些客户位于伦敦。 此步骤中的查询代码只描述查询,它不执行查询。 这种方法称为“延迟执行 ”。 有关更多信息,请参见 LINQ 查询简介 (C#)。
您还将生成一个日志输出,显示 LINQ to SQL 生成的 SQL 命令。 此日志记录功能(使用 Log)对调试有帮助,并有助于确定发送给数据库的命令是否准确地表示您的查询。
将下面的代码键入或粘贴到 Table<Customer> 声明后面的 Main 方法中。

执行查询
在此步骤中,您将实际执行查询。您在前面步骤中创建的查询表达式只有在需要结果时才会进行计算。当您开始 foreach 迭代时,将会针对数据库执行 SQL 命令,并将对象具体化。
1、将下面的代码键入或粘贴到 Main 方法的末尾(在查询说明之后)。

2、按 F5 调试该应用程序。
说明
如果您的应用程序产生运行时错误,请参见 通过演练学习 (LINQ to SQL) 中的“疑难解答”一节。
3、控制台窗口中的查询结果应显示如下:

4、在控制台窗口中按 Enter 以关闭应用程序。

完整代码


分享到:
评论

相关推荐

    LINQ Unleashed: for C# (Unleashed) (Paperback - Jul 24, 2008)

    LINQ Unleashed: for C# (Unleashed) (Paperback - Jul 24, 2008)

    学习LINQ:LINQ查询基础

    LINQ查询基础:介绍LINQ的基础,什么是LINQ,如何使用以及表达式及其查询方法

    linq unleashed for c#

    linq unleashed for c#linq unleashed for c#linq unleashed for c#

    c# Linq WebService rss

    为您显示使用 LINQ to Objects 创建内存对象的简单查询是多么简单。 •SimpleLinqToXml: 开始使用 LINQ to XML。 •WebServiceLinqProvider(TerraService): 用于 TerraServer-USA Web 服务的自定义 LINQ 提供程序和...

    LINQ基础教程(中文版) 适合初学者

    目前,LINQ支持的语言有C# 和 VB。 目录: LINQ初体验之LINQ to Object 1 一步一步学Linq to sql(一):预备知识 4 一步一步学Linq to sql(二):DataContext与实体 9 一步一步学Linq to sql(三):增删改 15 ...

    LINQ中文学习手册及学习网站

    内附学习推荐网站。 一个是语言集成查询.pdf,内容简介如下: ...包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能,并且支持 LINQ 查询表达式。

    学习LINQ工具,可以实时编译C#LINQ语句

    学习LINQ工具,可以实时编译C#LINQ语句

    LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习

    LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习LINQ学习

    LINQ中文版文档,LINQ 入门,LINQ 学习,LINQ编程指南

    包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能,并且支持 LINQ 查询表达式。 9.LINQ to ADO.NET(门户页) 提供 &lt;token&gt;linq_dataset&lt;/token&gt; 和 &lt;token&gt;...

    C# LinqXML使用LINQ技术对XML文件进行读取

    亲测好用,利用c# 的LinqXML技术 使用LINQ技术对XML文件进行读取

    C#Linq经典资料

    C#关于Linq学习,里面含有经典教程的具体代码,有清晰的教程pdf文件,同时含有数据库,欢迎分享。

    c#Linq操作数组

    c#Linq操作数组 c#Linq操作数组 c#Linq操作数组

    LINQ Unleashed for C#

    这是一本不错的,有关linq的书(英文)

    LINQ详细教程

    一步一步学Linq to sql(四):查询句法 20 一步一步学Linq to sql(五):存储过程 34 一步一步学Linq to sql(六):探究特性 45 一步一步学Linq to sql(七):并发与事务 52 一步一步学Linq to sql(八):继承...

    LINQ中文系列教程

    目前,LINQ支持的语言有C# 和 VB。 目录: LINQ初体验之LINQ to Object 1 一步一步学Linq to sql(一):预备知识 4 一步一步学Linq to sql(二):DataContext与实体 9 一步一步学Linq to sql(三):增删改 15 ...

    C#LINQ学习大全

    比较好的LINQ学习资源。比较好的讲述了LINQ在各个方面的使用方法。

    LINQ技术详解C# 2008版.pdf(压缩包)

    《LINQ技术详解C#2008版》将原理介绍与实践操作相结合,全面系统地阐述了Microsoft C# 2008中的语言集成查询(LINQ)技术的专业知识,包括其原理、功能和应用。特别对LINQ在对象、XML、数据集和SQL上的应用进行了...

    linq中文版资料(C#).rar

    包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能,并且支持 LINQ 查询表达式。 9.LINQ to ADO.NET(门户页) 提供 &lt;token&gt;linq_dataset&lt;/token&gt; 和 &lt;token&gt;...

    LINQ中文教程(WORD格式)

    目前,LINQ支持的语言有C# 和 VB。 目录: LINQ初体验之LINQ to Object 1 一步一步学Linq to sql(一):预备知识 4 一步一步学Linq to sql(二):DataContext与实体 9 一步一步学Linq to sql(三):增删改 15 ...

    Pro LINQ: Language Integrated Query in C# 2010 (含源码)

    关于LINQ的一本书籍,附上源码,喜欢请购买正版。 LINQ is the part of the .NET Framework that provides a generic approach to querying data from different data sources. It has quickly become the next ...

Global site tag (gtag.js) - Google Analytics