.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 ...
随机推荐
- PM过程能力成熟度3级
2级PM已经可以把项目管理起来了.如果这时候,企业只有一个PM,那这种程度的管理,只要逐渐深化,就可以一直维持下去. 然鹅,现实总是复杂很多... 公司会在PM建立2级的过程管理后,提高所有项目的可视 ...
- MongoDB 集合间关联查询后通过$filter进行筛选
在前面的分享中,有讲解 “详解MongoDB中的多表关联查询($lookup)” 一节,其内容涵盖了常见的集合管理的需求.我们知道文档的选择都是通过$match进行匹配刷选.但这是文档间的匹配筛选,并 ...
- Redis 主从复制原理及雪崩 穿透问题
定义: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMw ...
- Mybatis 批量添加,批量更新
此篇适合有一定的mybatis使用经验的人阅读. 一.批量更新 为了提升操作数据的效率,第一想到的是做批量操作,直接上批量更新代码: <update id="updateBatchMe ...
- day22 面向对象
面向对象 ''''1.面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 ...
- 揽货最短路径解决方案算法 - V2(增加了时间维度-客户允许的服务时间段,C#/JAVA同步实现,带python作图)
继上篇,这里改进增加了客户允许服务的时间范围这个维度,并且把C#版本翻译成java,加强了更加形象的图表展示路径(继续是用python的matplotlib作图). 这里的时间范围维度是指:每个客户都 ...
- Fuck me
know how to deal with \(\sum_i\binom{n}{i}a^i\)??
- Bayes factor
bayes因子为什么一定要除以先验机会比,如果是想用样本的作用,来判断支持原来的假设θ_0,H_0的力度,直接用后验概率比不就好了吗? 左边等于右边
- python实现对文件的全量、增量备份
#!/user/bin/env python # @Time :2018/6/6 10:10 # @Author :PGIDYSQ #@File :FileBackup2.py import os i ...
- Visual Studio Code扩展:
Auto Close TagAuto Rename TagBeautifyChinese (Simplified) Language Pack for Visual Studio CodeClass ...