C#linq to sql类增删改查

LINQ to SQL 是 Microsoft .NET Framework 的一部分,用于将关系数据库与 C# 或其他 .NET 语言集成。它使用 LINQ 查询语言,以及可用于创建、更新和删除数据库中的数据的方法和类。以下是针对 SQL Server 数据库的 LINQ to SQL 类的一些示例:

假设有一个名为“Users”的数据库表,其中包含用户的 ID、姓名和年龄。以下是如何使用 LINQ to SQL 执行各种操作的示例:

  1. 增加操作
using (var context = new MyDataContext())
{
    
    
    User newUser = new User {
    
     Name = "Alice", Age = 25 };
    context.Users.InsertOnSubmit(newUser);
    context.SubmitChanges();
}

在上面的示例中,我们创建一个新的 User 对象,并将其插入到 Users 表中。使用 InsertOnSubmit 方法将新对象添加到 DataContext 中,然后使用 SubmitChanges 方法将更改保存到数据库。

  1. 删除操作
using (var context = new MyDataContext())
{
    
    
    var userToDelete = context.Users.FirstOrDefault(u => u.ID == 1);
    if (userToDelete != null)
    {
    
    
        context.Users.DeleteOnSubmit(userToDelete);
        context.SubmitChanges();
    }
}

在上面的示例中,我们使用 FirstOrDefault 方法查找具有指定 ID 的用户。如果找到了用户,则使用 DeleteOnSubmit 方法将其添加到 DataContext 中,并使用 SubmitChanges 方法将更改保存到数据库。

  1. 修改操作
using (var context = new MyDataContext())
{
    
    
    var userToUpdate = context.Users.FirstOrDefault(u => u.ID == 1);
    if (userToUpdate != null)
    {
    
    
        userToUpdate.Name = "Bob";
        userToUpdate.Age = 30;
        context.SubmitChanges();
    }
}
  1. 查询操作
using (var context = new MyDataContext()) // 创建 DataContext 对象
{
    
    
    var users = from u in context.Users // 构造查询表达式
                where u.Age > 20 // 筛选年龄大于 20 的用户
                orderby u.Name // 按姓名排序
                select u; // 选择所有符合条件的用户

    foreach (var user in users) // 遍历查询结果
    {
    
    
        Console.WriteLine("Name: {0}, Age: {1}", user.Name, user.Age); // 打印用户姓名和年龄
    }
}

在上面的示例中,我们使用 LINQ to SQL 查询来获取 Users 表中年龄大于 20 的所有用户,按姓名排序,并在控制台上打印结果。


需要注意的是,这些示例中的 MyDataContext 类需要继承 DataContext 类,并包含用于映射数据库表和实体类的属性和方法。另外,这些操作需要使用正确的连接字符串和访问数据库的权限。

猜你喜欢

转载自blog.csdn.net/ultramand/article/details/130475704
今日推荐