MVC 学习(二)之Linq to Sql 简单Demo
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的更多相关文章
- MVC 学习(一)Linq to Entities 简单Demo
Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是Data ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
- day 82 Vue学习二之vue结合项目简单使用、this指向问题
Vue学习二之vue结合项目简单使用.this指向问题 本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...
- day 81 Vue学习二之vue结合项目简单使用、this指向问题
Vue学习二之vue结合项目简单使用.this指向问题 本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...
- Linq to SQL 简单增删改查
用Linq大大减少了对数据库的一般操作所需的编码量.运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens]( [Id] [int] IDE ...
- linq to sql简单使用
1.新建一个winform项目. 2.添加一个Linq to Sql 类,命名为Northwind 3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了 4.实例化Da ...
- Spring 学习二-----AOP的原理与简单实践
一.Spring AOP的原理 AOP全名Aspect-Oriented Programming,中文直译为面向切面(方面)编程.何为切面,就比如说我们系统中的权限管理,日志,事务等我们都可以将其看 ...
- Linq to SQL 参考Demo
LINQ to SQL语句()之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句 ...
- MVC 知识点学习3(linq to sql)
1.通过DbContext对象的Database.SqlQuery执行sql语句 string query = "SELECT EnrollmentDate, COUNT(*) AS Stu ...
随机推荐
- PyCharm/IntelliJ IDEA Golang开发环境搭建(最方便快捷的GO语言开发环境)
IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime ...
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3) ...
- elasticsearch单机多实例环境部署
elasticsearch的功能,主要用在搜索领域,这里,我来研究这个,也是项目需要,为公司开发了一款CMS系统,网站上的搜索栏功能,我打算采用elasticsearch来实现. elasticsea ...
- [solr] - IKAnalyzer 分词加入
1.下载IK Analyzer中文分词器:http://ik-analyzer.googlecode.com/files/IK%20Analyzer%202012FF_hf1.zip 2.解压出zip ...
- vs2010中使用Nunit测试c#代码结果的正确性
本文转载自:http://blog.csdn.net/pukuimin1226/article/details/8112151 http://www.nunit.org/index.php?p=dow ...
- 动画---图形图像与动画(三)Animation效果的XML实现
使用XML来定义Tween Animation 动画的XML文件在工程中res/anim目录,这个文件必须包含一个根元素,可以使<alpha><scale> <trans ...
- osmdroid启程
osmdroid一个牛逼的开源地图引擎,从今天开始好好研究一下~
- Android UI 绘制过程浅析(二)onMeasure过程
前言 View的绘制过程分为 measure.layout.draw三个步骤,接下来对这三个步骤逐一进行研究. measure方法的签名 public final void measure(int w ...
- linux——ssh服务
SSH服务(TCP端口号22):安全的命令解释器 为客户机提供安全的Shell 环境,用于远程管理 SSH基于公钥加密(非对称加密)技术: 数据加密传输: 客户端和服务器的身份验证: 公钥 和 私钥 ...
- 做一个高效的IOS开发工程师
最近觉得自己的开发效率太慢了,总结了一下:熟练度不够是一方面,经常用到东西查看一下,积累问题?一方面,这个无法分享的.现在主要分享的是:如何高效的用好自己的时间. 1.善用xcode. xcode实在 ...