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. asp.net ajax 调用一例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  2. SpringMVC访问静态资源

    SpringMVC访问静态资源 在SpringMVC中常用的就是Controller与View.但是我们常常会需要访问静态资源,如html,js,css,image等. 默认的访问的URL都会被Dis ...

  3. LVS+Keepalived负载均衡配置

    简介 lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高. lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在ke ...

  4. C++编程命名规则(转载)

    原文地址:http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2289291.html 如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套 ...

  5. C++中默认构造函数中数据成员的初始化

    构造函数的任务是初始化数据成员的,在类中,如果没有显示定义任何构造函数,编译器将为我们创建一个构造函数,称为合成的默认构造函数,合成的默认构造函数使用与变量初始化相同的规则来初始化成员.即当类中的数据 ...

  6. ADF_Desktop Integration系列4_ADF桌面集成入门之部署ADF Desktop Excel

    2013-05-01 Created By BaoXinjian

  7. 适合最新版docker自定义启动配置

    docker不断发布新版本,以前默认的在 /etc/default/docker里修改,但是新版已经不推荐了 注意: 一些文章推荐在 /lib/systemd/system/docker.servic ...

  8. Windows下利用Windbg 分析dump

    概述: 注册生成dump文件的函数. 当程序收到没有捕获的异常时,调用上述函数,生成dump文件. 利用Windbg结合编译程序时生成的pdb和代码来分析dump文件,定位问题. 如下代码生成dump ...

  9. 如何设置a标签的宽高,如何使a标签的文字垂直居中

    通常情况下a标签是没有宽高的,设置 width 和 height 没有作用. 若要使用 width 和 height,需要把a标签转为块级元素,即:display:block|inline-block ...

  10. Java--类的使用

    一 方法内部类        1.打开eclipse 选择你的代码存放的地方 2.新增Java项目 点击File-->New-->java project 3.添加一个包        4 ...