*本文中所用类声明见上一篇博文《轻量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 语句的更多相关文章

  1. mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干

    1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...

  2. mysql数据恢复 insert\update\delete 工具MyFlash

    一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...

  3. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  4. 关于MyBatis mapper的insert, update, delete返回值

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  5. [Hive - LanguageManual] DML: Load, Insert, Update, Delete

    LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files int ...

  6. insert update delete 语法 以及用法

    insert update delete 被称为 数据定义语句语句 也就是数据的增加 修改 删除 其中不包括查询 譬如: create database -创建数据库 alter database - ...

  7. PL/SQL轻量版(四)——存储函数/存储过程与触发器

    概述 ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数.过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块,均存储在数 ...

  8. sql中同一个Trigger里同时包含Insert,Update,Delete

    sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...

  9. mybatis select/insert/update/delete

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  10. LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...

随机推荐

  1. POST 还是 GET?

    POST 还是 GET? 浏览器使用 method 属性设置的方法将表单中的数据传送给服务器进行处理.共有两种方法:POST 方法和 GET 方法. 如果采用 POST 方法,浏览器将会按照下面两步来 ...

  2. 深入理解JavaScript系列(29):设计模式之装饰者模式

    介绍 装饰者提供比继承更有弹性的替代方案. 装饰者用用于包装同接口的对象,不仅允许你向方法添加行为,而且还可以将方法设置成原始对象调用(例如装饰者的构造函数). 装饰者用于通过重载方法的形式添加新功能 ...

  3. [转] 微信小程序 页面跳转 传递参数

    本文转自:http://blog.csdn.net/qq_31383345/article/details/52795212 微信小程序的页面跳转,页面之间传递参数笔记. CSDN微信小程序开发专栏, ...

  4. Mysql只Union用法

    MYSQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果. 举例说明: select * from table1 u ...

  5. CSP学习之导出密钥BLOB 解析

    通过CryptExportKey( hKey, NULL, PUBLICKEYBLOB,0, NULL, &dwBlobLen) 函数导出的公钥信息如下: 06 02 00 00 00 A4 ...

  6. shutil模块——高级的文件、文件夹、压缩包处理模块

    将文件内容拷贝到另一个文件 shutil.copyfileobj('fsrc', 'fdst', 'length') 方法源码: def copyfileobj(fsrc, fdst, length= ...

  7. Android DataBinding实现地址三联动

    这篇文章主要是写关于Android实现地址三联动的功能,现在附上demo地址:https://github.com/qiuyueL/NewAddressDemo,里面会有详细的注释,以及控件的使用,其 ...

  8. PHP基础--strtr和str_replace字符替换函数

    (一)strtr是字符替换函数 (1)单个字符替换: <?php echo strtr("abba", "ab", "10"),&qu ...

  9. SharePoint 2013 - Cross-domain Library

    首先,参考链接:https://msdn.microsoft.com/en-us/library/office/fp179893.aspx?f=255&MSPPError=-214721739 ...

  10. dialog和dialogFragment的使用及常用问题

    今天比较懒,只是列举了一些网址 弹窗之一:dialogFragment的使用 https://blog.csdn.net/sinat_31057219/article/details/76979246 ...