学习LINQ查询时,经常会遇到LINQ查询数据库问题,这里将介绍LINQ查询数据库问题的解决方法。
您可以通过LINQ来编写针对各种数据源的查询访问信息。您不必在使用SQL语法,因为LINQ提供了c#语言来处理,并提供了相同的类型及表达的功能。这是很重要的因为像一个 LINQ 提供了一个声明性方法允许您编写更面向对象的程序。
可以使用 LINQ编写C# 代码,列出使用 LINQ查询数据库,并创建 XML 文档:
- var contacts
- //从数据库检索客户表
- from customer in db.Customers
- where customer.Name.StartsWith("A") && customer.Orders.Count > 0
- orderby customer.Name
- select new { customer.Name, customer.Phone };
- var xml
- //从客户列表生成 XML 数据
- new XElement("contacts",
- from contact in contacts
- select new XElement("contact",
- new XAttribute("name", contact.Name),
- new XAttribute("phone", contact.Phone)
- )
- );
这段代码含义是从数据库中提取数据并从中创建一个 XML 文档写入所需内容。使用LINQ您会感觉到更容易、更自然。您将很快看到更多 LINQ 查询,但目前集中在语言方面。与from, where, orderby,和select 关键字在表里,很明显他们已经扩展进c#的LINQ工具里。
我们刚才所展示的是 C# 代码,但 LINQ 跨编程语言提供常见查询体系结构。他工作在 C# 3.0 and VB.NET 9.0 (即 VB 2008),因此需要专用的编译器,但是,可以其移植到其他.NET 语言。从目前来看F#已经有了LINQ功能,未来会有更多.NET语言得到LINQ的支持。
图中的查询使用的是在 C#语法而不是在新的语言。LINQ并不是一种新的语言。它被集成到 C# 和 VB.NET。 此外,LINQ 可以用于避免.NET 编程语言与 SQL、 XSL 或其他特定于数据的语言想混淆。 LINQ 使查询通过多种类型的数据存储到编程语言的语言特定扩展集中。您可以把linq视为通用远程控制。有时,您 会使用它来查询数据库 ;在其他方面,您也可以查询 XML 文档。您只需使用您喜欢的编程语言不必切换到SQL 或 XQuery 等查询语言。
我们只给您提供简略讲了LINQ查询数据库。此时***的问题是:为什么我们希望使用 LINQ 之类的工具?为什么不使用以前其它的工具呢?LINQ创建在程序语法里,也同存在于关系数据库和XML文档里。
LINQ 来源于项目是一个简单的事实:在应用程序中用来驱动和与数据库进行连接。因此应用程序中只懂一门c#语言是不能满族需求的,你还要学习另一些语言,例如SQL语法,配合连同 C# 以形成完整应用程序的 API。
我们将首先来看一段使用标准的.NET API 的数据访问代码。我们会指出,在这种代码中遇到的常见问题。然后,我们将通过显示如何这些存在问题与其他类型的数据如 XML。你将看到LINQ 地址之间数据源的一般不匹配和编程语言扩展我们的分析。
【编辑推荐】