LINQ To SQL

LINQ = Language Integrated Query(集成查询语言)

Linq是微软在.NET Framework 3.5中信增加的一个特性。它是用来查询数据库和对数据库查询的本地集合带来安全性。它非常简单但是很有组织性。一个普通的查询语言,适用于SQL, XML, 本地collections 和 第三方APIs 比如SharePoint.

本质上,Linq提供的就是一个轻量级的编程数据集成。这是非常有价值的,尤其是当今每天面对的数据和未来的大数据。

接下来我们就看看这个神秘的东东。

第一步:

打开你的Visual Studio 并且创建一个新的控制台项目.
然后打开服务器资源管理,创建一个新的数据库,新增一张Studuent表增加几个字段。
打开你的项目的解决方案目录,右击工程点击添加新增项。
查找LINQ-To-SQL 并添加,
你会看到一个空白的DataClasses1.dbml 文件,在这个文件中你可以拖动你的表放在 DataClasses1.dbml 文件扩展上.

第二步:
如何通过 LINQ-To-SQL 向数据库中增删改查。

/// <summary>
/// 插入数据
/// </summary>
public void insert()
{ 
    
    // these are the class data members through we will send our objects data in the database
    int id = 1;

    string name = "2";

    string fname = "2";

    int age = 3;

    string sem = "4";
    // this is the data context class the main class which handles
    // all the functionality in this will pass the connection string of our database file.

    DataClasses1DataContext db = new DataClasses1DataContext("data source=192.168.1.150;initial catalog=bageDB;persist security info=True;user id=tcps;password=t123456");
    // this is the table class which we drag on our linq to sql file
    Student objStudentTable = new Student();
    objStudentTable.id = id;
    objStudentTable.name = name;
    objStudentTable.fname = fname;
    objStudentTable.age = age;
    objStudentTable.sem = sem;
    db.Student.InsertOnSubmit(objStudentTable); // this is built in function.
    db.SubmitChanges();// here is the final query will run in the data context class.
}

/// <summary>
/// 查询数据
/// </summary>
void Select()
{
    DataClasses1DataContext db = new DataClasses1DataContext("data source=192.168.1.150;initial catalog=bageDB;persist security info=True;user id=tcps;password=t123456");
    var selectQuery = from s in db.Student
        select s;
    foreach (Student s in selectQuery)
    {

    }
}

/// <summary>
/// 删除数据
/// </summary>
void Delete()
{
    int id = 1;

    DataClasses1DataContext db = new DataClasses1DataContext("data source=192.168.1.150;initial catalog=bageDB;persist security info=True;user id=tcps;password=t123456");

    var delete = from p in db.Student
        where p.id == id
        select p;
    db.Student.DeleteAllOnSubmit(delete);
    db.SubmitChanges();
    Student objStudentTable = db.Student.Single(c => c.id == id);
}

/// <summary>
/// 更新数据
/// </summary>
void update()
{
    DataClasses1DataContext db = new DataClasses1DataContext("data source=192.168.1.150;initial catalog=bageDB;persist security info=True;user id=tcps;password=t123456");
    
    Student objStudentTable = new Student();

    int id = 1;

    var update = from s1 in db.Student
        where s1.id == id
        select s1;
    foreach (var v in update)
        v.name = "bage";
    db.SubmitChanges();
}

总结:

LINQ To SQL 与 LINQ To EF 异同点

LINQ To SQL 与 LINQ To EF 语法差异也比较明显。
LINQ to SQL使用的命名空间是System.Data.Linq。
LINQ to EF使用的命名空间是System.Data.Entity。

LINQ To SQL 与 LINQ To EF 相同点

两个都需要引用System.Linq类库。LINQ查询语法一样,要使用from、where、orderby等关键字。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值