vs2010 mysql linq to sql 系列_LINQ to Sql系列一 增,删,改

首先,我们来了解一下LINQ to sql 是什么,我想从以下几点来做说明。

1,LINQ是从.net framework 3.0开始引入的的语言特性,主要是用来对集合数据进行操作的。

2,LINQ to sql是LINQ在数据库数据访问方面的一个ORM框架。

了解完概念之后,我们就开始地学习LINQ to sql了,不过在正式利用LINQ to sql去进行数据的增,删,改,查之前,我们还有一些准备工作要做。

准备工作

1,创建数据库

创建数据库名为LinqtoSqlDemoDb,一共有四张表分别是Student学生表,Class班级表,Course课程表和StudentCourse学生课程表,如图:

3c20e399f99caccf0cb295a2606e7209.png

注意表与表之间的外键关系。

2,创建LINQ to classes文件

打开VS2010,创建一个类库工程命名为LinqtoSqlDemo.DAL,在工程上右键单击,选择“add--->add item”,在文件类型中选择“LINQ to classes”,命名为L2SDB.dbml,如图所示:

c4c6c7b376a22ead3f7784ea946efe0f.png

3,根据数据库表自动生成代码

创建好LINQ to classes文件后,选择菜单“view--->server explorer”打开server explorer窗口,增加一个数据库连接。如图一

48589a52c62ba892a88fd7a9b1c85f50.png

展开tables开点,应该就能看到刚才创建的四张表,将它们选中然后拖到设计区,就会得到如图所示的样子。

55d997f087b6f6cd3883c05b5f0daf63.png

在设计窗口按F4键打开DataContext的属性窗口,我们需要给数据库上下文设定命名空间,如图。

28f59644281275209fff67116444d185.png

按ctrl+f5保存,这样我们的LINQ to sql 的ORM就创建好了。下面我们就可以开始数据的增,删,改的操作了。

代码如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public static void Add()

{

ClassInfo ci = new ClassInfo { ClassName="class 1"};

Console.WriteLine("---------------begin add a class");

using (L2SDBDataContext db = new L2SDBDataContext())

{

TClass tc = new TClass();

ClassValueCopier.Copy(tc, ci);

//db.Log = Console.Out; //for output sql statement

db.TClasses.InsertOnSubmit(tc);

db.SubmitChanges();

}

Console.WriteLine("--------------end");

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

代码如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public static void Delete(int id = 3)

{

Console.WriteLine("---------------begin delete a class");

using (L2SDBDataContext db = new L2SDBDataContext())

{

//get the class by id

TClass tc = db.TClasses.SingleOrDefault(p => p.ClassID == id);

db.TClasses.DeleteOnSubmit(tc);

db.SubmitChanges();

}

Console.WriteLine("--------------end delete a student");

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

代码如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public static void Edit(int id = 3)

{

Console.WriteLine("---------------begin edit a class");

using (L2SDBDataContext db = new L2SDBDataContext())

{

//get the class by id

TClass tc = db.TClasses.SingleOrDefault(p => p.ClassID == id);

tc.ClassName = "class 1a";

db.SubmitChanges();

}

Console.WriteLine("---------------end edit a class");

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

总结:

1,首先我们必须得到DataContext对象,这个对象相当于一个数据库的GateWay,所有的操作都是通过它进行的。

2,LINQ to sql使用了“Unit of work”模式,所以,对数据库的操作不会立即提交到数据库,而是需要显式调用DataContext对象的SubmitChanges方法,所有改动才会被提交到数据库中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值