Chương này sẽ giới thiệu LINQ và hiển thị nó như thế nào phù hợp với C # và thành lập trình của bạn. Chương tiếp theo sẽ đi sâu vào các chi tiết của việc sử dụng LINQ để truy xuất và thao tác dữ liệu trong cơ sở dữ liệu và kho dữ liệu khác. Bạn sẽ tìm hiểu về ADO.NET trong Chương 16.
De fi hoạch và Thực hiện một truy vấn Trong các phiên bản trước đó của C #, nếu bạn muốn tìm một đối tượng trong một cơ sở dữ liệu bạn phải rời C # và chuyển sang các Framework (thường xuyên nhất ADO.NET) . Với LINQ, bạn có thể ở trong C #, và do đó trong một góc nhìn hoàn toàn dựa trên lớp.
Nhiều cuốn sách bắt đầu với phương pháp vô danh, sau đó giới thiệu biểu thức Lambda, và cuối cùng giới thiệu LINQ. Đó là kinh nghiệm của tôi rằng đó là dễ dàng hơn để hiểu nhau của các khái niệm này bằng cách đi theo hướng ngược lại, bắt đầu với các truy vấn và giới thiệu biểu thức Lambda cho những gì họ đang: công nghệ cho phép. Mỗi một chủ đề sẽ, tuy nhiên, được phủ ở đây và trong các chương sau.
Hãy bắt đầu bằng cách tìm kiếm một bộ sưu tập cho các đối tượng phù hợp với một tiêu chí nhất định, như đã chứng minh trong Ví dụ 13-1.
Ví dụ 13-1. Một truy vấn đơn giản LINQ
using System;
using System;
sử dụng System.Linq;
namespace Programming_CSharp
{
// Simple lớp khách hàng
public class Customer
{
public string FirstName {get; bộ; }
Công chuỗi LastName {get; bộ; }
Public string EmailAddress {get; bộ; }
// Ghi đè Object.ToString () để cung cấp một
. Chuỗi đại diện // các thuộc tính đối tượng
public override string ToString ()
{
return string.Format ( "{0} {1} nEmail: {2}", FirstName , LastName, EmailAddress);
}
}
// Main chương trình
public class Tester
{
static void Main ()
{
Danh sách customers = CreateCustomerList();
Example 13-1. A simple LINQ query (continued)
// Find customer by first name
IEnumerable result =
from customer in customers
where customer.FirstName == "Donna"
select customer;
Console.WriteLine("FirstName == "Donna"");
foreach (Customer customer in result) Console.WriteLine(customer.ToString());
customers[3].FirstName = "Donna";
Console.WriteLine("FirstName == "Donna" (take two)");
foreach (Customer customer in result) Console.WriteLine(customer.ToString());
}
// Create a customer list with sample data
private static List CreateCustomerList()
{
List customers = new List
{
new Customer
{
FirstName = "Orlando",
LastName = "Gee",
đang được dịch, vui lòng đợi..
