using Bunny.Common.Context.Database; using Bunny.Common.Exception; using Bunny.Common.Utils.Net; using Bunny.Dao.Common.Result; using Bunny.Dao.Dto.System; using Bunny.Dao.Entity.System.User; using Microsoft.AspNetCore.Components; namespace Bunny.Service.IService.Service; public class UserService : IUserService { [Inject] public required EfCoreContext DbContext { get; set; } /// /// 添加Blog /// /// /// public void AddBlog(Users dto) { DbContext.Add(dto); DbContext.SaveChanges(); } /// /// 查询BLog /// /// public List QueryBlog() { return DbContext.Users.ToList(); } /// /// 更新Blog内容 /// /// public void UpdateBlog(BlogUpdateDto dto) { var blog = new Users(); NetUtil.CopyProperties(dto, blog); DbContext.Users.Update(blog); DbContext.SaveChanges(); } /// /// 删除BLog /// /// public void DeleteBlog(string id) { var blog = new Users { Id = Guid.NewGuid().ToString() }; DbContext.Users.Remove(blog); DbContext.SaveChanges(); } /// /// 批量添加数据 /// /// public void AddBatchBlogs(string url) { var list = new List(); for (var i = 0; i <= 100; i++) list.Add(new Users { Username = $"Blog{i}" }); DbContext.Users.AddRange(list); DbContext.SaveChanges(); throw new BunnyException("测试事务注解"); } /// /// 批量删除BLog /// public void DeleteBatchBlogs() { var list = new List(); for (var i = 0; i < 10; i++) { var blog = new Users(); list.Add(blog); } DbContext.Users.RemoveRange(list); DbContext.SaveChanges(); } /// /// 批量更新_带事务 /// public void UseTransaction() { // 还可以使用异步的 var transaction = DbContext.Database.BeginTransaction(); // 执行批量更新操作 var list = new List(); for (var i = 0; i < 10; i++) { var blog = new Users { Username = "transactions" }; list.Add(blog); } // 更新内容 DbContext.Users.UpdateRange(list); DbContext.SaveChanges(); // 还可以使用异步方式 transaction.Commit(); } /// /// 分页查询 /// /// /// public Task> QueryPage(int page, int limit) { var pagedListAsync = GetPagedResultAsync.GetPagedListFromSqlAsync(DbContext, "select * from System_Users ", "System_Users", page, limit); return pagedListAsync; } }