Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查。Linq to sql 与Linq to Entities虽然同属于DataBase-First,但存在着一些细小的差别。

  Linq to Sql 的实体类载体的后缀为dbml。

  此篇Demo的数据库与前一篇博文Linq to Entities的数据库一致,VS2010与Sql 2005。

  首先 创建dbml文件。步骤如下

  1、

  2、

  这样我们就建立好了dbml文件了,数据库连接的配置文件也已经在app.config文件中自动生成了。

  No1、查询出所有学生的姓名、年龄以及所选课程,代码如下

Main()函数代码如下
StudentDataContext StudentDB = new StudentDataContext();
var Students = StudentDB.StudentInfo.ToList<StudentInfo>();
foreach (var student in Students)
{
Console.WriteLine(student);
string sourceName = string.Empty; foreach (var source in student.SourceInfo)
{
sourceName += source.SourceName + " ";
}
Console.WriteLine("所选课程有:" + sourceName); } public partial class StudentInfo
{
public override string ToString()
{
return string.Format("姓名:{0},年龄 {1}", this._SName, this._SAge);
}
}

  No2、增加一个学生的信息,并且添加此学生所选课程。

  如果我们不写Sql语句,则代码如下

            StudentInfo StudentModel = new StudentInfo
{
SID = ,
SName = "范冰冰",
SAge =
};
SourceInfo SourceModel = new SourceInfo
{
SourceName = "高级护理",
StudentID =
};
StudentDB.StudentInfo.InsertOnSubmit(StudentModel);
StudentDB.SourceInfo.InsertOnSubmit(SourceModel);
StudentDB.SubmitChanges();

  当然Linq to Sql是灵活的,它提供了ExecuteCommand等方法供我们写Sql语句。代码如下

string strSql = "insert into StudentInfo values({0},{1},{2})";
StudentDB.ExecuteCommand(strSql, new object[] { , "花样年华", });

  No3、修改数据。

  当不直接书写Sql语句修改数据时,需要将修改的数据取出,然后将需要更改字段的值重新赋值,最后提交给数据库。代码如下

 var StudentModel = StudentDB.StudentInfo.SingleOrDefault(c => c.SID == );
StudentModel.SAge = ;
StudentDB.SubmitChanges();

  如果使用Sql语句更新数据,代码如下

string strSql = "update StudentInfo set SAge=25 where SID=6";
StudentDB.ExecuteCommand(strSql);

  No4、删除数据。代码如下(删除Sql语句这里我就不写了) 

       var StudentModel = StudentDB.StudentInfo.SingleOrDefault(c => c.SID == );
if (StudentModel != null)
{
StudentDB.StudentInfo.DeleteOnSubmit(StudentModel);
StudentDB.SubmitChanges();
}

  至此,Linq to Sql简单的增删改查Demo就完成了。

MVC 学习(二)之Linq to Sql 简单Demo的更多相关文章

  1. MVC 学习(一)Linq to Entities 简单Demo

    Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是Data ...

  2. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  3. day 82 Vue学习二之vue结合项目简单使用、this指向问题

    Vue学习二之vue结合项目简单使用.this指向问题   本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...

  4. day 81 Vue学习二之vue结合项目简单使用、this指向问题

    Vue学习二之vue结合项目简单使用.this指向问题   本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...

  5. Linq to SQL 简单增删改查

    用Linq大大减少了对数据库的一般操作所需的编码量.运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens](    [Id] [int] IDE ...

  6. linq to sql简单使用

    1.新建一个winform项目. 2.添加一个Linq to Sql 类,命名为Northwind 3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了 4.实例化Da ...

  7. Spring 学习二-----AOP的原理与简单实践

    一.Spring  AOP的原理 AOP全名Aspect-Oriented Programming,中文直译为面向切面(方面)编程.何为切面,就比如说我们系统中的权限管理,日志,事务等我们都可以将其看 ...

  8. Linq to SQL 参考Demo

    LINQ to SQL语句()之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句 ...

  9. MVC 知识点学习3(linq to sql)

    1.通过DbContext对象的Database.SqlQuery执行sql语句 string query = "SELECT EnrollmentDate, COUNT(*) AS Stu ...

随机推荐

  1. python 模块openpyxl读excel文件

    使用openpyxl模块来读取excel.要注意openpyxl读不再支持旧的xls格式. 先看一下操作前的excel是什么样子吧.对了,现在只支持xlsx格式的excel读取 我现在想在第三行插入3 ...

  2. HackerRank "New Year Chaos"

    Two tricks here: 1. Counting no. of inversed pairs - using Merge Sort, nothing special 2. How to che ...

  3. Intellij Idea系列之Tomcat环境的搭建(三)

    Intellij Idea系列之Tomcat环境的搭建(三) 一. 编写背景 Intellij Idea在刚上手的时候很多人吐槽,"god, 这么难用的IDE有谁用呀?",的确,I ...

  4. java 线程的使用

    java 线程的使用 //线程的使用 //需要记三个单词 //1.Thread 线程的类名 //2. Runnable 线程的接口 //3. start 执行线程 //使用继承线程类的方式实现线程 c ...

  5. Quartz.NET管理周期性任务

    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...

  6. Android 多点触控与简单手势(一)

    现在一般的Android手机都会使用电容触摸屏最少可以支持两点触摸,多的可能是七八个,所以基本上都会支持多点触控, android系统中应用程序可以使用多点触控的事件来完成各种手势和场景需求. And ...

  7. Redis的Python客户端redis-py的初步使用

    1. Redis的安装 sudo pip install redis sudo pip install hiredis Parser可以控制如何解析redis响应的内容.redis-py包含两个Par ...

  8. 网站搭建 so easy

    服务器(国际购买):http://www.gigsgigscloud.com/ 域名(阿里云): 解析到服务器       服务器需要安装 1.putty 2.CuteFTP(自己感觉这个靠谱点) / ...

  9. IT在线笔试总结(一)

    综述:IT公司的技术类笔试,主要考察: (1)知识面的广度.主要考察一些业内通用性的知识,以及某一职务所必须具备的业务知识. (2)智力测试.主要考察记忆力,思维能力和学习新知识的能力. (3)技能测 ...

  10. Bootstrap导航点击菜单跳转与点击缩放菜单折叠按钮缓冲效果插件jquery.singlePageNav.min.js

    引入步骤: <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></scrip ...