轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句
*本文中所用类声明见上一篇博文《轻量ORM-SqlRepoEx (三)Select语句》中Customers类
一、增加记录
1、工厂一个实例仓储
var repository = RepoFactory.Create<Customers>();
2、使用实例增加
Customers customers = new Customers { CustomerID = "YOUR1", CompanyName = "你的公司名1", Phone = "13900000000" };
repository.Insert().For(customers).Go();
当前增加的SQL语句:
INSERT[dbo].[Customers]([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax])
VALUES('YOUR1', '你的公司名1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '13900000000', NULL);
3、指定列值增加
repository.Insert().With(m => m.CustomerID, "YOUR1")
.With(m => m.CompanyName, "你的公司名1")
.With(m => m.Phone, "13900000001").Go();
当前增加的SQL语句:
INSERT[dbo].[Customers]
([CustomerID], [CompanyName], [Phone])
VALUES('YOUR1', '你的公司名1', '13900000001');
4、注意事项:
(1)、如果有自增加字段,需要在对应属性增加[IdentityFiled] 特性
如: [IdentityFiled]
public string CustomerID { get; set; }
(2)则生成时有 IdentityFiled 特性是的SQL语句
INSERT [dbo].[Customers]([CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax])
VALUES('你的公司名', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1390000000', NULL);
SELECT [CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax]
FROM [dbo].[Customers]
WHERE [CustomerID] = SCOPE_IDENTITY();
(3)指定列值增加时有 IdentityFiled 特性是的SQL语句
INSERT [dbo].[Customers]([CustomerID], [CompanyName], [Phone])
VALUES('YOUR1', '你的公司名1', '13900000001');
SELECT [CustomerID], [CompanyName], [Phone]
FROM [dbo].[Customers]
WHERE [CustomerID] = SCOPE_IDENTITY();
关于相关特性会在后续博文中介绍
二、更新记录
1、工厂一个实例仓储
var repository = RepoFactory.Create<Customers>();
2、使用实例更新
Customers customers = new Customers { CustomerID = "YOURC", CompanyName = "你的公司名", Phone = "1390000000" };
repository.Update().For(customers).Go();
生成的SQL语句
UPDATE [dbo].[Customers]
SET [CustomerID] = 'YOURC', [CompanyName] = '你的公司名', [ContactName] = NULL, [ContactTitle] = NULL, [Address] = NULL, [City] = NULL, [Region] = NULL, [PostalCode] = NULL, [Country] = NULL, [Phone] = '1390000000', [Fax] = NULL WHERE [CustomerID] = 'YOURC', [CompanyName] = '你的公司名';
3、指定列值更新
repository.Update()
.Set(m => m.CompanyName, "你的公司名100")
.Set(m => m.Phone, "13900000023").Where(m => m.CustomerID == "YOUR1").Go())
生成的SQL语句
UPDATE [dbo].[Customers]
SET [CompanyName] = '你的公司名100', [Phone] = '13900000023'
WHERE ([dbo].[Customers].[CustomerID] = 'YOUR1');
三、删除记录
1、工厂一个实例仓储
var repository = RepoFactory.Create<Customers>();
2、使用实例删除
Customers customers = new Customers { CustomerID = "YOURC", CompanyName = "你的公司名", Phone = "1390000000" };
repository.Delete().For(customers).Go();
生成的SQL语句
DELETE [dbo].[Customers] WHERE [CustomerID] = 'YOURC', [CompanyName] = '你的公司名';
3、指定条件删除
repository.Delete().Where(m => m.CustomerID == "YOUR1").Go();
生成的SQL语句
DELETE [dbo].[Customers]
WHERE ([dbo].[Customers].[CustomerID] = 'YOUR1');
轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句的更多相关文章
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...
- mysql数据恢复 insert\update\delete 工具MyFlash
一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...
- PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)
原文: PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...
- 关于MyBatis mapper的insert, update, delete返回值
这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...
- [Hive - LanguageManual] DML: Load, Insert, Update, Delete
LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files int ...
- insert update delete 语法 以及用法
insert update delete 被称为 数据定义语句语句 也就是数据的增加 修改 删除 其中不包括查询 譬如: create database -创建数据库 alter database - ...
- PL/SQL轻量版(四)——存储函数/存储过程与触发器
概述 ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数.过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块,均存储在数 ...
- sql中同一个Trigger里同时包含Insert,Update,Delete
sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...
- mybatis select/insert/update/delete
这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...
- LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作
我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...
随机推荐
- Python高级用法------字典无需提前定义key
from collections import defaultdict import json def tree(): return defaultdict(tree) categories = tr ...
- 从Linux服务器下载文件到本地
通过安装xshell,连接服务器,通过以下命令可以方便的将服务器的文件下载到本地 #下载一个文件 sz filename #下载多个文件 sz filename1 filename2 #下载dir目录 ...
- Hashtable(哈希表)
简体字繁体字转化: class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ; i < ...
- JavaScript数组常用操作总结
我们在日常开发过程中,使用到原生 JavaScript的时候,有时候会频繁的对数组进行操作,今天我把工作以来,经常用到的有关 JavaScript数组的方法总结一下,方便日后工作的时候查找使用! 一. ...
- Juniper 防火墙端口映射设置
首先我们登陆到juniper防火墙控制界面 默认地址大家都知道(192.168.1.1) 默认用户和密码netsscreen 下面介绍登陆界面: 让我们开始配置吧 依次展开policy → Polic ...
- js 匹配中文字符串(也包含日文和韩文)
<script> var str="payTypeNam门诊账户\n\t"; document.write(str.match(/[\u4E00-\u9FA5\uF90 ...
- HDU 5014 异或之和
http://acm.hust.edu.cn/vjudge/contest/122814#problem/H 这道题就是求异或之和 知识点: a^b = c 等价于 b^c =a 和 a^c = b ...
- Jquery系列:textarea常用操作
1.textarea内容的读取与设置 读textarea文本值可以用name和id.而写入文本值只能用id. <textarea name="content" id=&quo ...
- 01_Redis基础
[Redis定义(参考了百度百科)] Redis是一个key-value存储系统.与Memchached类似,Redis支持的value类型更多,包括String.list.set.zset(有序集合 ...
- Struts2项目问题及解决方式
1. 问题描述如图: 问题解释:意思就是execute()方法写错了. 问题解决: 改正: