.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的更多相关文章

  1. .NET技术-2.0. 操作数据库-Dapper

    .NET技术-2.0. 操作数据库-Dapper 项目参见: 1. 为什么选择Dapper 1) 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco seria ...

  2. JDBC数据源(DataSource)数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用。

    JDBC数据源(DataSource)的简单实现   数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用. 2.数据源提供了一种简单获取数据库连接的方式,并能在内部通 ...

  3. yii2.0操作数据库

    首先不得不说yii2.0面向对象的比较彻底,建议没学过或者没学好面向对象的同学再看看面向对象. 其次切入正题. 先创建数据库,这步自己写. DROP TABLE IF EXISTS `country` ...

  4. 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 ...

  5. Asp.Net MVC 自定义的MVC框架(非EF操作数据库)

    一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...

  6. VoltDB公布4.0版本号,大步提高内存实时分析速度,进军操作数据库市场

    号称世界上最快的关系数据库的VoltDB与2014年1月29号(美国东部时间)公布下一代数据库4.0版本号.新的版本号有非常多地方的改进,大步挺高系统性能.在过去的13年,VoltdDB号称自己公司较 ...

  7. 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作

    下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...

  8. EF操作数据库的步骤和一些简单操作语句

    这里是写给我自己做记录的,不会写成一篇很好的博客,也不会置顶,如果有朋友看到了,而且觉得里面的内容不咋的,希望见谅哈! 关于这部分内容,这里推荐一篇总结的非常好的博客,如果你点击进来了,那么请略过下面 ...

  9. NetCore2.0下使用EF CodeFirst创建数据库

    本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目  取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...

随机推荐

  1. Java学习资源整理(超级全面)

    这里整理一些自己平常搜集的比较好的关于Java的学习资源,主要包括博客站点.书籍.课程等. 了解Java最新资讯 这部分主要是了解与Java相关的动态以及信息,能够拓展我们的视野以及寻找一些好的ide ...

  2. Redis 主从复制原理及雪崩 穿透问题

    定义: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMw ...

  3. 《JAVA程序设计》_第八周学习总结

    一.学习内容 1.泛型类声明--15.1知识 可以使用"class 名称"声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如: class People<E> ...

  4. oracle 关于对时间操作的汇总

    -- 对时间的操作 对当前日期增加一个小时: SQL> select sysdate, sysdate+numtodsinterval(1,’hour’) from dual ; 对当前日期增加 ...

  5. codeforces#1139E. Maximize Mex(逆处理,二分匹配)

    题目链接: http://codeforces.com/contest/1139/problem/E 题意: 开始有$n$个同学和$m$,每个同学有一个天赋$p_{i}$和一个俱乐部$c_{i}$,然 ...

  6. ubuntu下安装Visual Studio Code

    环境准备 先安装一般umake没有问题 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo ...

  7. visual studio中各文件的输出路径

    dll或exe输出路径一般在 配置属性->链接器->常规->输出文件 中 若该路径与 配置属性->常规 中的输出目录+目标文件名+目标文件扩展名不一致,可能会有提示,建议保持一 ...

  8. WEB工具类

    import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; ...

  9. C#中 SQL语句

    SQL语句 SELECT STUFF(( (SELECT ',{' ),)) ),)) ),)) +'}' FROM ZSJTTD_HouseBuilding hb ,,'' ) HouseBuild ...

  10. [转帖] Linux 时间参数

    Linux下文件的三个时间参数 https://blog.csdn.net/GGxiaobai/article/details/53609478 想用touch修改创建时间呢 发现不知道怎么修改来着. ...