> 데이터 베이스 > MySQL 튜토리얼 > LINQ to Sql系列一 增,删,改

LINQ to Sql系列一 增,删,改

WBOY
풀어 주다: 2016-06-07 17:44:56
원래의
1124명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿