C#中的LINQ(Language Integrated Query)提供了与集合和数据库的整合,使得对集合和数据库的查询和操作变得更加方便和统一。
// LINQ与集合的整合示例代码
// 查询名字以"A"开头的学生
List<string> names = new List<string> { "Alice", "Bob", "Adam", "Amy" };
var query = from name in names
where name.StartsWith("A")
select name;
foreach (var name in query)
{
Console.WriteLine(name); // 输出: Alice, Adam, Amy
}
在以上示例中,LINQ与List<string>集合整合,通过查询语法查询名字以"A"开头的学生。
// LINQ与数据库的整合示例代码(使用Entity Framework)
// 定义实体类
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
// 创建数据库上下文类
public class SchoolContext : DbContext
{
public DbSet<Student> Students { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("连接字符串");
}
}
// 查询年龄大于18的学生
using (var context = new SchoolContext())
{
var query = from student in context.Students
where student.Age > 18
select student;
foreach (var student in query)
{
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}
}
在以上示例中,使用Entity Framework将数据库表映射为Student对象,并通过LINQ查询语句查询年龄大于18的学生。