Home > Database > Mysql Tutorial > LINQ to Sql系列一 增,删,改

LINQ to Sql系列一 增,删,改

WBOY
Release: 2016-06-07 17:44:56
Original
1124 people have browsed it

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,LINQ是从.net framework 3.0开始引入的的语言特性,主要是用来对集合数据进行操作的。
2,LINQ to sql是LINQ在数据库数据访问方面的一个ORM框架。

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

准备工作

1,创建数据库

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

l2s01

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

2,创建LINQ to classes文件

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

l2s02

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

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

l2s03

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

l2s04

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

l2s05

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

代码如下:

Add() { ClassInfo ci = }; Console.WriteLine(); using (L2SDBDataContext db = new L2SDBDataContext()) { TClass tc = new TClass(); ClassValueCopier.Copy(tc, ci); db.TClasses.InsertOnSubmit(tc); db.SubmitChanges(); } Console.WriteLine(); }

代码如下:

Delete(int id = 3) { Console.WriteLine(); 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(); }

代码如下:

Edit(int id = 3) { Console.WriteLine(); using (L2SDBDataContext db = new L2SDBDataContext()) { //get the class by id TClass tc = db.TClasses.SingleOrDefault(p => p.ClassID == id); tc.ClassName = ; db.SubmitChanges(); } Console.WriteLine(); }

总结:

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

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

posted on

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template