.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. ZOJ 2480 - Simplest Task in Windows

    Simplest Task in Windows Time Limit: 2 Seconds      Memory Limit: 65536 KB A typical windows platfor ...

  2. PostgreSQL10.1 linux 编译安装

    一 安装准备 1.首先从官网下载PostgreSQL压缩包(也可以使用yum安装),我们这里使用的是10.1的版本 2.将文件上传到linux服务区目录(我们这里放在/root 中) 3.解压缩 ta ...

  3. Go 反射

    基本了解 在Go语言中,大多数时候值/类型/函数非常直接,要的话,定义一个.你想要个Struct type Foo struct { A int B string } 你想要一个值,你定义出来 var ...

  4. VirtualBox Network Config

    Sharing Host VPN with VirtualBox guest After looking for this solution everywhere, I finally found a ...

  5. 芒果绿的blog

    --------------------------------------------------------------这是芒果绿的blog!!-------------------------- ...

  6. June. 27th 2018, Week 26th. Wednesday

    To be great, truly great, you have to be the kind of person who makes the others around you great. 要 ...

  7. .net prams关键字

    先举个例子: 代码如下: class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.Wr ...

  8. CENTOS重新安装JDK

    centos 删除默认安装的JDK 重新安装JDK 1.删除JDK 通过xshell工具成功连接安装好的虚拟机之后可通过    rpm -qa | grep java  或 rpm -qa | gre ...

  9. Vue(五)Vue规范

    代码规范很重要 1.组件名应该始终是多个单词的,根组件 App 除外. 2.组件的 data 必须是一个函数. // In a .vue file export default { data () { ...

  10. Net core 关于缓存的实现

    在很多项目中, 需要用到缓存,借鉴网上前辈们的一些经验,自己再进行总结简化了一些, 做出如下的缓存操作,其中包含内存缓存(IMemoryCache) 和 Redis 缓存; 一.前提内容, 导入两个包 ...