在LINQ中,你可以使用SQL類似的語法來查詢數據。以下是一個簡單的示例,展示了如何在C#中使用LINQ查詢數據庫中的數據。
首先,假設你有一個名為customers
的表,其結構如下:
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(255),
age INT,
city VARCHAR(255)
);
然后,你可以使用以下C#代碼來查詢這個表中的數據:
using System;
using System.Linq;
using System.Data.SqlClient;
class Program
{
static void Main()
{
// 連接到數據庫
string connectionString = "your_connection_string_here";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 執行SQL查詢并轉換為LINQ查詢
string sqlQuery = "SELECT * FROM customers WHERE age > 30";
var customers = connection.Query(sqlQuery).ToList();
// 輸出查詢結果
foreach (var customer in customers)
{
Console.WriteLine($"ID: {customer.id}, Name: {customer.name}, Age: {customer.age}, City: {customer.city}");
}
}
}
}
在這個示例中,我們首先連接到數據庫,然后執行一個SQL查詢來獲取年齡大于30的所有客戶。接著,我們使用connection.Query()
方法將SQL查詢轉換為LINQ查詢,并將結果存儲在customers
變量中。最后,我們遍歷并輸出查詢結果。
需要注意的是,connection.Query()
方法返回的是一個IEnumerable<dynamic>
類型的集合,因此我們可以直接使用動態類型來訪問查詢結果的屬性。如果你希望獲得強類型的查詢結果,你可以定義一個與數據庫表結構相匹配的類,并使用Select()
方法將查詢結果轉換為這個類的實例。
例如:
// 定義與數據庫表結構相匹配的類
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
// 將查詢結果轉換為強類型的集合
var customers = connection.Query<Customer>(sqlQuery).ToList();