Linq to SQL 的增删改查操作
Linq,全称Language Integrated Query,作为C#3.0新语法,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中。 Linq表达式和SQL语句差不多,说白了就是颠倒sql语法, from where select ...,从from开始,以select/group by 结束,输出一个IEnumerable<T>或 IQueryable<T>的集合。世间万物皆系于一箭之上,存在即合理,技术是进步的,还可使用标准化查询运算符(SQO),继承自IEnuberable<T>接口,提供了 筛选、投影、聚合、排序等功能的方法,缺点就是语句太多庞大复杂。优点使用便捷,有即时加载(FindAll)和延时加载(Where)
EF(Entity Framework)Ado.NET中面向开发数据的一种技术,有Code First、Model First、Database First,是微软的一个ORM框架。
Lambda表达式的本质就是匿名函数,可以包含表达式和语句,也可以用于创建委托或表达式树类型,运算符为“=>”,读作 goes to,借用MVC企业级实战书中一图
new Func<string, int>(delegate (string str) { return str.Length; }); (delegate (string str) { return str.Length; }); //匿名方法 (string str) => { return str.Length; }; //Lambda语句 (string str) => str.Length; //Lambda表达式 (str) => str.Lenth; //省略类型,让IDE去判断 str => str.Lenth; //去掉括号
Linq操作的是数据对象,所以需要先建立一个实体对象模型,操作的表如下
USE [IBBC]
GO
CREATE TABLE [Table_1](
IDD INT PRIMARY KEY NOT NULL,
Nnmae VARCHAR() NULL
) INSERT [dbo].[Table_1] ([IDD], [Nnmae]) VALUES (, N'清高祖'),(, N'清高宗'),
(, N'清太祖'),(, N'Test1'),
(, N'Test2'),(, N'Test3'),
(, N'Test4'),(, N'Test5')
查询:
public void Dbquery(int id)
{
IBBCEntities db = new IBBCEntities();
var request = from d in db.Table_1
where d.IDD == id
select new { d.IDD, d.Nnmae };
foreach (var item in request)
{
Console.WriteLine("查詢語法: " + item);
} var request1 = db.Table_1.SingleOrDefault(b => b.IDD == id);
Console.WriteLine("(SQO)方法語法: " +request1.IDD+" "+request1.Nnmae); Console.ReadKey();
}
添加:
//添加:
var add1 = db.Table_1.SingleOrDefault(c=>c.IDD==);
if (add1.IDD.Tostring()==null)
{
Table_1 tb = new Table_1
{
IDD = ,
Nnmae = "張三丰"
};
db.Table_1.Add(tb);
db.SaveChanges();
}
(PS:add1.IDD为Int类型,所以永远不会等于null,故取其ToString(),下同))
修改:
//修改
var update1 = db.Table_1.SingleOrDefault(c => c.IDD == );
if (update1.IDD.Tostring()!=null)
{
update1.Nnmae = "張君寶";
db.SaveChanges();
}
删除:
//刪除
var delete1 = db.Table_1.SingleOrDefault(c=>c.IDD==);
if (delete1.IDD.Tostring()!=null)
{
db.Table_1.Remove(delete1);
db.SaveChanges();
}
权当做学习记录
--市人皆大笑,举手揶揄之
Linq to SQL 的增删改查操作的更多相关文章
- Linq to SQL 简单增删改查
用Linq大大减少了对数据库的一般操作所需的编码量.运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens]( [Id] [int] IDE ...
- linq to sql 中增删改查
首先我先说一下,如果真的要用linq做项目的话,也会是比较方便的.已经尝试了在三层架构中应用linq to sql 比较方便. //有三个不同的数据库表,所以写法不一样 public class Li ...
- C#+Access 员工信息管理--简单的增删改查操作和.ini配置文件的读写操作。
1.本程序的使用的语言是C#,数据库是Access2003.主要是对员工信息进行简单的增删改查操作和对.ini配置文件的读写操作. 2.代码运行效果如下: 功能比较简单.其中在得到查询结果后,在查询结 ...
- (转)SQLite数据库增删改查操作
原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
- 浅谈dataGridView使用,以及画面布局使用属性,对datagridview进行增删改查操作,以及委托使用技巧
通过几天的努力后,对datagridview使用作一些简要的介绍,该实例主要运用与通过对datagridview操作.对数据进行增删改查操作时,进行逻辑判断执行相关操作.简单的使用委托功能,实 ...
- JDBC连接数据库及增删改查操作
什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类 ...
- Android SQLite 数据库 增删改查操作
Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
随机推荐
- 利用其它带文件防护功能的软件防止*.asp;*.jpg写入文件。
此木马是一个.NET程序制作,如果你的服务器支持.NET那就要注意了,,进入木马有个功能叫:IIS Spy,点击以后可以看到所有站点所在的物理路径.以前有很多人提出过,但一直没有人给解决的答案.. 防 ...
- Swift与OC混编
OC调用Swift的方法:添加 import "xxxx-Swift.h" 头文件即可 Swift调用OC的方法:需要建立桥接: xxxx-Bridging-Header.h 头文 ...
- /proc/sys/vm/参数
1) /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作.缺省设置:0,禁用Block Debug模式2) ...
- Thinking in Java——笔记(11)
Holding Your Objects In general, your programs will always be creating new objects based on some cri ...
- [SonarQube]小结
新的项目用了这个,以前从来没用过,配置了一下,看看这个到底是个什么东东. 先学习一下英文单词: sonar 声纳, qube 方盒子, 连起来应该叫声纳盒, SonarQube一看就是一个监测诊断设备 ...
- 群晖SVN Server远程访问
打开路由器访问界面 选择转发规则->端口映射-新建 在弹出的界面中填写相应的端口号了内网ip 填写svn所在地址的IP,比如:192.168.30.2 添加映射端口,比如svn的默认端口是330 ...
- css线性渐变--linear-gradient
使用css直接写渐变,对于现在而言,应该属于比价简单的一件事了,在一定程度上,扁平化的设计趋势的出现,减少了使用渐变色的场景,但是并不影响我们逐渐的熟悉线性渐变Linear-gradient的写法. ...
- DevExpress XtraPivotGrid 交叉表 重复显示问题
转自:http://www.cnblogs.com/xiayan/archive/2011/11/04/2236389.html 最近发现xtrareport 的PivotGrid实现交叉表非常的简单 ...
- C++学习笔记 构造&析构 友元 new&delete
构造&析构函数 构造函数 定义:与类同名,可以有参可以无参,主要功能用于在类的对象创建时定义初始化的状态,无返回值,也不能用void修饰,构造函数不能被直接调用,必须通过new运算符在创建对象 ...
- 安装hadoop集群服务器(hadoop1.2.1)
摘要:hadoop,一个分布式系统基础架构,可以充分利用集群的威力进行高速运算和存储.本文主要介绍hadoop的安装与集群服务器的配置. 准备文件: ▪ VMware11.0.0 ▪ Cen ...