Linq初探--Linq to SQL

本文介绍了C#中的LINQ技术,特别是Linq to SQL的使用。通过实例展示了如何在Visual Studio中创建LINQ to SQL类,操作数据库进行查询、插入、更新和删除操作。Linq以其强大的查询能力简化了数据库操作,为开发者提供了更直观的代码体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    

       LINQ,语言集成查询(Language Integrated Query)是一组用于C#和VisualBasic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

      Linq很强大,包括:Linq to SQL,Linq to Object,Linq to XML,Linq to DataSet,Linq to ADO.NET.

      就目前情况而言,我们来简单介绍一下Linq to SQL的基础使用。

      首先打开VS,我们用C#来实现。

   

    添加LINQ to SQL 类,将数据源中相应的表拖拽至设计器中

VS自动生成User类,其有关信息在Linq2SQL.designer.cs

看一下我们用的示例数据:

      前期工作准备完毕,下面我们来看Linq如何操作数据库。

查询代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinqSQL
{
     class Program
    {
        static void Main(string[] args)
        {
            //Linq To SQL 体验
            Linq2SQLDataContext linq = new Linq2SQLDataContext();

           
            //查询所有的User
            var users = linq.User.Select(u => u);

            foreach (var user in users)
            
            Console.WriteLine(user.Name   );
            Console.Read();   
            
        }
    }
}

运行结果:

  我们给查询加一个条件:查询所有最后一个字是“瓜”的用户

需要修改一下代码,其他代码都不变:

改为:

运行结果:

     下面介绍LinqInsert操作:

代码:

class Program    {
        static void Main(string[] args)
        {
            //Linq To SQL 体验
            Linq2SQLDataContext linq = new Linq2SQLDataContext();

            //插入一个Name为茄子的用户
            User newUser = new User();
            newUser.Name = "茄子";

            //使用Linq插入该用户到数据库中
            linq.User.InsertOnSubmit(newUser);
            linq.SubmitChanges();

            //查询所有的User
            var users = linq.User.Select(u => u);

            foreach (var user in users)
            
            Console.WriteLine(user.Name   );
            Console.Read();   
            
        }
    }

运行结果:

  

    接下来介绍更新操作:

代码:

class Program
    {
        static void Main(string[] args)
        {
            //Linq To SQL 体验
            Linq2SQLDataContext linq = new Linq2SQLDataContext();
            
            //查找出要修改的User
            User newUser = linq.User.Single(u => u.Id == 1);
            newUser.Name = "南瓜";
            //更新至数据库中
            linq.SubmitChanges();
            //查询所有的User
            var users = linq.User.Select(u => u);

            foreach (var user in users)
            
            Console.WriteLine(user.Name   );
            Console.Read();   
        }
    }
 

      最后,介绍Linq的删除操作:

代码:

class Program
    {
        static void Main(string[] args)
        {
            //Linq To SQL 体验
            Linq2SQLDataContext linq = new Linq2SQLDataContext();



            //查找出要删除的User
            User delUser = linq.User.Single(u => u.Id == 2);
            linq.User.DeleteOnSubmit(delUser);

            //更新至数据库中
            linq.SubmitChanges();

            //查询所有的User
            var users = linq.User.Select(u => u);
            
            foreach (var user in users)
            
            Console.WriteLine(user.Name   );
            Console.Read();   
            
        }
    }

运行结果:

     Linq的功能不仅只有这些,Linq很强大,等待着我们去挖掘!

     初学,有很多不足之处,敬请指正!

 

 

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值