.NET技术-2.0. 操作数据库-EF
.NET技术-2.0. 操作数据库-EF
项目参见:

EF安装配置 参见:
https://www.cnblogs.com/1285026182YUAN/p/10772330.html
https://www.cnblogs.com/1285026182YUAN/p/10749872.html
1. 查询数据
var queryRes1 = DB.TblOrder.Where(t => true).ToList();
2. 新增数据
#region == 新增 数据 ==
//新增 单条
Models.TblOrder model = new Models.TblOrder() { Amount = , Uptime = DateTime.Now, OrderCode = "", UserId = , Text = "aaaa" };
DB.TblOrder.Add(model);
DB.SaveChanges();
//新增 多条
List<Models.TblOrder> list = new List<TblOrder>() {new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="aaaa"},
new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="aaaa"} };
DB.TblOrder.AddRange(list);
DB.SaveChanges();
#endregion
3. 修改数据
#region == 修改 数据 ==
//修改 单条
model = queryRes1.First(); model.Text = "update_" + DateTime.Now.ToShortDateString() + "_" + DateTime.Now.ToLongTimeString(); DB.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Modified; //也可以 DB.SaveChanges(); //修改 多条
list = queryRes1.Skip().Take().ToList(); list.ForEach(t =>
{ t.Text = "update_" + DateTime.Now.ToShortDateString() + "_" + DateTime.Now.ToLongTimeString(); //DB.Entry(t).State = Microsoft.EntityFrameworkCore.EntityState.Modified; }); DB.SaveChanges();
#endregion
或
#region == 修改2 数据 ==
//修改 单条
model = queryRes1.First();
model.Text = "update2_" + DateTime.Now.ToShortDateString() + "_" + DateTime.Now.ToLongTimeString();
DB.TblOrder.Update(model);
DB.SaveChanges();
//修改 多条
list = queryRes1.Skip().Take().ToList();
list.ForEach(t =>
{
t.Text = "update2_" + DateTime.Now.ToShortDateString() + "_" + DateTime.Now.ToLongTimeString();
});
DB.TblOrder.UpdateRange(list);
DB.SaveChanges();
#endregion
4. 删除数据
#region == 删除 数据 ==
//删除 单条 model = queryRes1.First(); DB.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; DB.SaveChanges(); //修改 多条
list = queryRes1.Skip().Take().ToList(); list.ForEach(t =>
{
DB.Entry(t).State = Microsoft.EntityFrameworkCore.EntityState.Deleted;
}); DB.SaveChanges(); #endregion
或
#region == 删除2 数据 ==
queryRes1 = DB.TblOrder.Where(t => true).ToList();
//删除 单条
model = queryRes1.First();
DB.TblOrder.Remove(model);
DB.SaveChanges();
//修改 多条
list = queryRes1.Skip().Take().ToList();
DB.TblOrder.RemoveRange(list);
DB.SaveChanges();
#endregion
5. 开启事务
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
using (IDbContextTransaction transaction = DB.Database.BeginTransaction())
{
try
{
//新增 多条
List<Models.TblOrder> list = new List<TblOrder>() {new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="aaaa"},
new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="bbbbb"},
new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="ccccc"}}; DB.TblOrder.AddRange(list); DB.SaveChanges(); //throw new Exception(); List<Models.TblOrder> list2 = DB.TblOrder.Where(t => true).ToList(); list2.ForEach(t => { t.Text = "bkas"; }); DB.TblOrder.UpdateRange(list2); DB.SaveChanges(); Trans(transaction);//事务做为参数传递。 //提交事务
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
Console.WriteLine("Error occurred.");
}
} return new string[] { "value1", "value2" }; }
//带事务参数的方法
private void Trans(IDbContextTransaction transaction)
{ //新增 多条
List<Models.TblOrder> list = new List<TblOrder>() {new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="aaaa"},
new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="bbbbb"},
new TblOrder() { Amount = , Uptime= DateTime.Now, OrderCode = "", UserId = ,Text="ccccc"}}; DB.TblOrder.AddRange(list); DB.SaveChanges();
}
OK
.NET技术-2.0. 操作数据库-EF的更多相关文章
- .NET技术-2.0. 操作数据库-Dapper
.NET技术-2.0. 操作数据库-Dapper 项目参见: 1. 为什么选择Dapper 1) 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco seria ...
- JDBC数据源(DataSource)数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用。
JDBC数据源(DataSource)的简单实现 数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用. 2.数据源提供了一种简单获取数据库连接的方式,并能在内部通 ...
- yii2.0操作数据库
首先不得不说yii2.0面向对象的比较彻底,建议没学过或者没学好面向对象的同学再看看面向对象. 其次切入正题. 先创建数据库,这步自己写. DROP TABLE IF EXISTS `country` ...
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Asp.Net MVC 自定义的MVC框架(非EF操作数据库)
一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...
- VoltDB公布4.0版本号,大步提高内存实时分析速度,进军操作数据库市场
号称世界上最快的关系数据库的VoltDB与2014年1月29号(美国东部时间)公布下一代数据库4.0版本号.新的版本号有非常多地方的改进,大步挺高系统性能.在过去的13年,VoltdDB号称自己公司较 ...
- 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- EF操作数据库的步骤和一些简单操作语句
这里是写给我自己做记录的,不会写成一篇很好的博客,也不会置顶,如果有朋友看到了,而且觉得里面的内容不咋的,希望见谅哈! 关于这部分内容,这里推荐一篇总结的非常好的博客,如果你点击进来了,那么请略过下面 ...
- NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目 取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...
随机推荐
- ElasticSearch-6.3.2 linux 安装
在linux 系统安装ElasticSearch-6.3.2最新版本,也适合6.x 系列版本做参考 前提先在linux 安装好jdk1.8 创建用户 从5.0开始,ElasticSearch 安全级别 ...
- Android 视频通信,低延时解决方案
背景: 由于,项目需要,需要进行视频通信,把a的画面,转给b. 运维部署: APP1:编码摄像头采集的数据,并且发送数据到服务端 APP2:从服务端,拉取数据,并且进行解码显示 服务端:接收APP1提 ...
- 【English】十四、英语
一.英语 是 词法(词) + 语法 一个个拥有词法的词,就是材料.通过语法的规则将这些词合理组合排列起来.然后,就可以干很多事了.
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...
- EF6实现软删除
https://www.jianshu.com/p/c65fbfe16e1a
- VMware小记
博主最近不知道为啥,有点手贱,折腾虚拟机. 然后某天,突然发现虚拟机连不上网,ping物理机,返回结果是不可达. 后来尝试各种手段,注意到VMware Network Adapter VMnet8和 ...
- Scrapy框架-Spider和CrawlSpider的区别
目录 1.目标 2.方法1:通过Spider爬取 3. 通过CrawlSpider爬取 1.目标 http://wz.sun0769.com/index.php/question/questionTy ...
- 二)Spring AOP编程思想与动态代理
一.aop编程思想 1.面向切面,就是能够不动源码的情况下,从横切面切入新的代码功能. 2.实现原理是动态代理 动态代理的步骤 a.写生产厂家,实现接口,代理只能代理接口 b.动态代理类实现Invoc ...
- app测试中隐藏键盘
1.参考连接 https://www.cnblogs.com/raindrop2007/articles/7849905.html 2.在项目中的使用 2.1 设置手机上的“语言输入法”,选择appi ...
- 创建pandas和sqlalchemy的j交互对象,方便于日常的数据库的增删改查(原创)
#导入第三方库sqlalchemy的数据库引擎 from sqlalchemy import create_engine #导入科学计算库 import pandas as pd #导入绘图库 imp ...