博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ABP 框架集成EF批量增加、删除、修改只针对使用mmsql的
阅读量:6514 次
发布时间:2019-06-24

本文共 2806 字,大约阅读时间需要 9 分钟。

AppService 层使用nuget 添加 EFCore.BulkExtensions 引用

1 using Abp.Application.Services.Dto; 2 using Abp.Domain.Repositories; 3 using Abp.EntityFrameworkCore.Repositories; 4 using Abp.UI; 5 using EFCore.BulkExtensions; 6 using Microsoft.EntityFrameworkCore; 7 using System; 8 using System.Collections.Generic; 9 using System.Diagnostics;10 using System.Linq;11 using System.Text;12 using System.Threading.Tasks;13 using WebProject.Authorization.Accounts;14 15 namespace WebProject.Article16 {17     public class ArticleAppService : WebProjectAppServiceBase, IArticleAppService18     {19         private readonly IRepository
_articleRepository;20 public ArticleAppService(IRepository
articleRepository)21 {22 _articleRepository = articleRepository;23 }24 ///
25 /// 批量添加26 /// 27 ///
28 ///
29 public string BulkInsert(EntityDto input)30 {31 Stopwatch watch = new Stopwatch();32 watch.Start();33 List
list = new List
();34 for (int i = 0; i < input.Id; i++)35 {36 var entity = new Models.Article();37 entity.CateId = 2;38 entity.Title = $"BulkInsert娱乐{1}";39 list.Add(entity);40 }41 42 _articleRepository.GetDbContext().BulkInsert(list);//GetDbContext 需要添加Abp.EntityFrameworkCore.Repositories引用43 watch.Stop();44 45 string time = watch.ElapsedMilliseconds.ToString();46 return time;47 }48 ///
49 /// 批量删除50 /// 51 ///
52 public string BulkDelete()53 {54 Stopwatch watch = new Stopwatch();55 watch.Start();56 _articleRepository.GetAll().BatchDelete();57 //_articleRepository.GetAll().Where(m=>m.Id>100).BatchDelete();58 watch.Stop();59 string time = watch.ElapsedMilliseconds.ToString();60 return time;61 }62 ///
63 /// 批量修改64 /// 65 ///
66 public string BatchUpdate()67 {68 Stopwatch watch = new Stopwatch();69 watch.Start();70 _articleRepository.GetAll().BatchUpdate(new Models.Article { Title = "Updated娱乐" });71 //_articleRepository.GetAll().Where(m=>m.Id>100).BatchUpdate(new Models.Article { Title = "Updated娱乐" });72 watch.Stop();73 string time = watch.ElapsedMilliseconds.ToString();74 return time;75 }76 77 }78 }

 

转载于:https://www.cnblogs.com/lkd3063601/p/10622201.html

你可能感兴趣的文章
我的友情链接
查看>>
unity3d实现一个人物跟随鼠标点击地面那点就移动那点,实现点击特效加人物动画方向的切换。...
查看>>
下拉菜单在ie下无法显示 需要加声明
查看>>
我的友情链接
查看>>
设计模式-访问者模式
查看>>
操作Sqlite数据库
查看>>
CentOS 6.5 inotify+rsync做实时同步-企业实例(1.0)
查看>>
强力克银宝开心!!
查看>>
CHM反编译程序
查看>>
完整java开发中JDBC连接数据库代码和步骤
查看>>
ThinkPad平板电脑在定价上还存在的一个问题是
查看>>
MySQL设置foreign_key_checks
查看>>
自己手动清理C盘文件的过程
查看>>
我的友情链接
查看>>
tableview当对应组的数据展示完后对应的section的头部或尾部才消失
查看>>
quick-cocos2d-x 3.3rc0 与 2.2.5的区别(二)------ 图像帧缓存
查看>>
char 数组转 int
查看>>
给你的博客添加一些实用工具
查看>>
Navicat “ORA-28547:connection to server failed
查看>>
hibernate怎么连接数据库并进行操作[读取][存放]
查看>>