ABP 框架集成EF批量增加、删除、修改只针对使用mmsql的
2024-08-22 14:38:49
AppService 层使用nuget 添加 EFCore.BulkExtensions 引用
using Abp.Application.Services.Dto;
using Abp.Domain.Repositories;
using Abp.EntityFrameworkCore.Repositories;
using Abp.UI;
using EFCore.BulkExtensions;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WebProject.Authorization.Accounts; namespace WebProject.Article
{
public class ArticleAppService : WebProjectAppServiceBase, IArticleAppService
{
private readonly IRepository<Models.Article> _articleRepository;
public ArticleAppService(IRepository<Models.Article> articleRepository)
{
_articleRepository = articleRepository;
}
/// <summary>
/// 批量添加
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public string BulkInsert(EntityDto input)
{
Stopwatch watch = new Stopwatch();
watch.Start();
List<Models.Article> list = new List<Models.Article>();
for (int i = ; i < input.Id; i++)
{
var entity = new Models.Article();
entity.CateId = ;
entity.Title = $"BulkInsert娱乐{1}";
list.Add(entity);
} _articleRepository.GetDbContext().BulkInsert(list);//GetDbContext 需要添加Abp.EntityFrameworkCore.Repositories引用
watch.Stop(); string time = watch.ElapsedMilliseconds.ToString();
return time;
}
/// <summary>
/// 批量删除
/// </summary>
/// <returns></returns>
public string BulkDelete()
{
Stopwatch watch = new Stopwatch();
watch.Start();
_articleRepository.GetAll().BatchDelete();
//_articleRepository.GetAll().Where(m=>m.Id>100).BatchDelete();
watch.Stop();
string time = watch.ElapsedMilliseconds.ToString();
return time;
}
/// <summary>
/// 批量修改
/// </summary>
/// <returns></returns>
public string BatchUpdate()
{
Stopwatch watch = new Stopwatch();
watch.Start();
_articleRepository.GetAll().BatchUpdate(new Models.Article { Title = "Updated娱乐" });
//_articleRepository.GetAll().Where(m=>m.Id>100).BatchUpdate(new Models.Article { Title = "Updated娱乐" });
watch.Stop();
string time = watch.ElapsedMilliseconds.ToString();
return time;
} }
}
最新文章
- Css3新特性应用之形状
- javascript类继承的一些实验
- iPad 控件 UIPopoverPresentationController 使用 iPhone可用
- 2016 长春东北赛---Coconuts(离散化+DFS)
- HTML与XHTML
- Yii2查询语句使用不等于号
- Asp.net Mvc4 基于Authorize实现的模块访问权限
- Android高清巨图加载方案
- jquery expand
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
- PHP 无限极分类下拉列表实现
- ElasticSearch搜索介绍四
- php调用oracle存储
- HTML语义化简介思维导图
- PAT 乙级 1077 互评成绩计算 (20)
- Oracle SQL Developer在进行查询的时候只显示50条数据
- 15 Puzzle (4乘4谜题) IDA*(DFS策略与曼哈顿距离启发) 的C语言实现
- Linux Mint 使用 VNC Server (x11vnc) 进行远程屏幕
- C++ 运算符重载三(链式编程)
- k-近邻算法(kNN)