首页 > 其他分享 >autofac 服务层

autofac 服务层

时间:2023-07-06 21:57:25浏览次数:37  
标签:autofac 服务 region GetSession session var DapperLiteFactory public

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using wgh.model.Models;
using DBHelper;
using IService;
using wgh.Service;

namespace Service
{
/// <summary>
/// 系统用户服务层
/// </summary>
public class SysUserInfoServie: ISysUserInfoServie, IDependency
{
/// <summary>
/// 根据ID查询单个记录
/// </summary>
public SysUserInfo Get(string id)
{
var session = DapperLiteFactory.GetSession();

return session.QueryById<SysUserInfo>(id);
}


#region 查询总数
/// <summary>
/// 根据ID查询单个记录
/// </summary>
public int GetTotalCount()
{
var session = DapperLiteFactory.GetSession();

return session.QuerySingle<int>("select count(*) from sys_user");
}
#endregion

#region 查询集合
/// <summary>
/// 查询集合
/// </summary>
public List<SysUserInfo> GetList()
{
string sql = "";
var session = DapperLiteFactory.GetSession();

return session.QueryList<SysUserInfo>(sql);
}
#endregion

#region 添加
/// <summary>
/// 添加
/// </summary>
public long Insert(SysUserInfo info)
{
var session = DapperLiteFactory.GetSession();

session.OnExecuting = (s, p) => Console.WriteLine(s); //打印SQL
long id = session.InsertReturnId(info,"");
return id;
}
#endregion

#region 添加(异步)
/// <summary>
/// 添加
/// </summary>
public async Task<long> InsertAsync(SysUserInfo info)
{
var session = DapperLiteFactory.GetSession();

session.OnExecuting = (s, p) => Console.WriteLine(s); //打印SQL


long id = await session.InsertReturnIdAsync(info, "select @@IDENTITY");
return id;
}
#endregion

#region 批量添加
/// <summary>
/// 批量添加
/// </summary>
public void Insert(List<SysUserInfo> list)
{

var session = DapperLiteFactory.GetSession();
try
{
session.OnExecuting = (s, p) => Console.WriteLine(s); //打印SQL

session.BeginTransaction();
session.Insert(list);
session.CommitTransaction();
}
catch
{
session.RollbackTransaction();
throw;
}
}
#endregion

#region 批量添加(异步)
/// <summary>
/// 批量添加
/// </summary>
public async Task InsertAsync(List<SysUserInfo> list)
{

var session = DapperLiteFactory.GetSession();

await session.InsertAsync(list);
}
#endregion

#region 修改
/// <summary>
/// 修改
/// </summary>
public void Update(SysUserInfo info)
{
var session = DapperLiteFactory.GetSession();
session.Update(info);
}
#endregion

#region 修改(异步)
/// <summary>
/// 修改
/// </summary>
public async Task UpdateAsync(SysUserInfo info)
{
var session = DapperLiteFactory.GetSession();

session.OnExecuting = (s, p) => Console.WriteLine(s); //打印SQL

var task = session.UpdateAsync(info);
await task;
}
#endregion

#region 批量修改
/// <summary>
/// 批量修改
/// </summary>
public void Update(List<SysUserInfo> list)
{

var session = DapperLiteFactory.GetSession();

try
{
session.OnExecuting = (s, p) => Console.WriteLine(s); //打印SQL

session.BeginTransaction();
session.Update(list);
session.CommitTransaction();
}
catch
{
session.RollbackTransaction();
throw;
}
}
#endregion

#region 批量修改(异步)
/// <summary>
/// 批量修改
/// </summary>
public async Task UpdateAsync(List<SysUserInfo> list)
{
var session = DapperLiteFactory.GetSession();
var task = session.UpdateAsync(list);
await task;
}
#endregion

#region 删除
/// <summary>
/// 删除
/// </summary>
public bool Delete(long id)
{
var session = DapperLiteFactory.GetSession();

session.OnExecuting = (s, p) =>
{
Console.WriteLine(s); //打印SQL
};

return session.DeleteById<SysUserInfo>(id)>0;
}
#endregion
}
}

标签:autofac,服务,region,GetSession,session,var,DapperLiteFactory,public
From: https://www.cnblogs.com/wugh8726254/p/17533422.html

相关文章

  • autofac 控制器
      usingService;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;usingwgh.model;namespaceWgh.studentSys_v2.Controllers{publicclassHomeController:Controller{publicIService.ISys......
  • autofac的使用
    安装autofac安装autofac.mvc   注册代码 varbuilder=newContainerBuilder();builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired();//注册所有实现了IDependency接口的类型TypebaseT......
  • 微服务设计:测试
    单元测试通常只测试一个函数和方法调用。单元测试对于代码重构非常重要,因为我们知道,如果不小心犯了错误,这些小范围的测试能很快做出提醒,这样我们就可以放心地随时调整代码。运行端到端测试需要部署多个服务。显然,这种测试可以覆盖更大的范围,也让我们对系统的正常工作更有信心。......
  • Linux服务器之间进行文件目录映射/挂载-优化
    转自:https://www.cnblogs.com/tanshaoxiaoji/p/linux_nfs.html稍有优化需要实现的功能为:将192.168.10.10服务器下的/home/要映射的目录/,映射为192.168.10.90服务器下的/home/被映射的目录/。1、分别在192.168.10.10、192.168.10.90服务器上安装nfs、rpcbind;yuminst......
  • 国产方德高可信服务器操作系统V4.0的安装
    前言中科方德积极参与欧拉开源社区工作,发布了基于欧拉开源操作系统的方德高可信服务器操作系统V4.0(欧拉版)。此款操作系统可提供高可信支持,为企业级用户提供稳定、高效的软件运行支撑环境,满足系统稳定性、安全性、可靠性等要求,适用于党政军及金融、电信、能源、交通及医疗卫生等各......
  • 计算机与服务器之间的关系
    1.计算机1.1计算机的起源历史计算机的历史可以追溯到200多年前。最初由数学家和企业家提出的理论,在19世纪,机械计算机的设计和制造是为了解决日益复杂的数字运算挑战。到20世纪初,技术的进步使计算机变得越来越复杂,计算机变得更大、更强大。今天,计算机几乎无法从19世纪的......
  • 宝塔搭建出现连接不到服务器 搭建宝塔8.0 面板会出现 连接丢失需要重新连接
    搭建宝塔8.0  面板会出现连接丢失需要重新连接碰见这个问题因为宝塔的8.0 镜像换了需要重新执行一下宝塔镜像btpipinstallsimple-websocket==0.10.0&&bt1  执行完成之后出现这个就可以使用面板 ......
  • eclipse 如何通过OSGI 服务从一个插件给另一个插件发通知
    注册服务:BundleContextbundleContext=FrameworkUtil.getBundle(当前类.class).getBundleContext();EventHandlereventCreateNewConfigEventHandler=newEventHandler(){ @Override publicvoidhandleEvent(finalorg.osgi.service.event.Eventevent){ doSomet......
  • 服务器io测试工具-fio
    Fio是一个I/O工具,旨在用于基准测试和压力/硬件验证。它支持19种不同类型的I/O引擎(sync、mmap、libaio、posixaio、SGv3、splice、null、network、syslet、guasi、solarisaio等)、I/O优先级(适用于较新的Linux内核)、评估I/O、分叉或线程作业等等。它可以在块设备和文件......
  • CentOS7搭建简单的邮件服务器_______亲测OK
    邮件服务器概述邮件收、发服务器是分开的,也就是我们需要搭建一个邮件发送服务器和一个邮件收取服务器。本文会搭建收、发两个服务器,并用邮件客户端(Foxmail)做测试。协议协议就是定义规则,这里是邮件协议,定义邮件收发的规则,了解规则有助于理解软件的配置文件。邮件发送协议SMTP(S......