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();
}
}
}
运行结果:
我们给查询加一个条件:查询所有最后一个字是“瓜”的用户
需要修改一下代码,其他代码都不变:
将
改为:
运行结果:
下面介绍Linq的Insert操作:
代码:
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很强大,等待着我们去挖掘!
初学,有很多不足之处,敬请指正!