首页 > 其他分享 >记录一次在设计服务层和仓储层报错

记录一次在设计服务层和仓储层报错

时间:2024-03-30 23:22:24浏览次数:30  
标签:层报 SqlSugarClient repository 记录 class musicSourceService 仓储 new public

1、首先,使用SqlSugar.IOC连接

 SugarIocServices.AddSqlSugar(
    new IocConfig()
    {
      ConnectionString=GetConnectionObject(),
        DbType = IocDbType.SqlServer,
        IsAutoCloseConnection = true
    }
 );

2、在仓储层获取DB实例

   public class BaseRepository<TEntity> : SimpleClient<TEntity>, IBaseRepository<TEntity> where TEntity : class, new()
   {
       public BaseRepository()
       {
           base.Context = DbScoped.Sugar;
       }
   }

3、写出服务类

 public interface IMusicSourceService : IBaseService<MusicSourceInfo>
 {
 }
 public class MusicSourceService : BaseService<MusicSourceInfo>, IMusicSourceService
 {
     private readonly IBaseRepository<MusicSourceInfo> _repository;

     public MusicSourceService(IBaseRepository<MusicSourceInfo> repository):base(repository)
     {
         _repository = repository;
     }
 }

4、去做查询

 public class HomeViewModel:BindableBase
 {
     IMusicSourceService _musicSourceService;
     public HomeViewModel(IMusicSourceService musicSourceService)
     {
         _musicSourceService = musicSourceService;
         InitCommand = new DelegateCommand(async () => await ExecuteInit());
     }
     private async Task ExecuteInit()
     {
         await _musicSourceService.QueryListAsync();
     }

     public ICommand InitCommand { get; set; }
 }

这个时候会出现报错

1、There is already an open DataReader associated with this Connection which must be closed first.
或者
2、Invalid attempt to call FieldCount when reader is closed
或者
3、The connection does not support MultipleActiveResultSets

1、解决方案将SqlSugarClient改为SqlSugarScope ||关闭IsAutoCloseConnection = false
2、解决方案将SqlSugarClient替换成SqlSugarScope ||每次都new一个实例

Context = new SqlSugarClient(new ConnectionConfig()
      {
          DbType = SqlSugar.DbType.SqlServer,
          ConnectionString = GetConnectionObject(),
          IsAutoCloseConnection = true,
      });

3、解决方案将SqlSugarClient替换成SqlSugarScope || GetConnectionObject时将MultipleActiveResultSets=True;

标签:层报,SqlSugarClient,repository,记录,class,musicSourceService,仓储,new,public
From: https://www.cnblogs.com/guchen33/p/18106238

相关文章

  • 【图论】3.30学习记录 k短路(A*算法)
    从最短路说起的k短路3.26看了最短路和次短路。我们发现次短路实际上就是把最短路给破坏掉然后跑最短路...那我想...是不是破坏(k-1)次就能得到k短路呢,很显然是的,但是复杂度比较高,(因为一次dij是O(nlogn)级别的,次短路的话最坏要跑m次当最短路有m条边的时候)那么k比较大的时候就......
  • Blazor学习记录_8.CSS隔离和代码隔离_异常处理_流式渲染
    19.CSS隔离和代码隔离19.1代码隔离使用C#partial关键字,创建一个与razor文件同名,扩展名加.CS的C#类文件,然后把razor文件中的@code中的代码迁移至cs文件中。注意命名空间、泛形参数声明、依赖注入的迁移19.2CSS隔离如同前面代码隔离文件一样,我们创建一个组件样式文......
  • react + electron 应用在线更新功能记录
    这个东西很多人都可能用electron-update这个玩意,但是我用了,发现总是更新不了,于是放弃,使用electron自带功能  主进程main.js中引入 const{autoUpdater}=require('electron-updater'); 以下为主要代码,也是放在main.js  autoUpdater.autoDownload=false......
  • FLASK学习记录-sqlite3基本操作
    sqltie3是内置模块,数据库操作,以及表的增删改查参考https://www.runoob.com/sqlite/sqlite-python.html实例创建数据库$sqlite3test.dbSQLiteversion3.34.12021-01-2014:10:07Enter".help"forusagehints.sqlite>.databasesmain:/usr/dog/flask_web/flask-test2......
  • 【记录】使用python图形库自定义位置组件的技术
    目录使用的技术展示一下这个效果结语使用的技术使用自定义位置的技术可以通过place方法来实现。这里是如何使用这种技术的一般步骤:创建一个Label或Button等组件,并设置相关属性(例如文本、图像、背景色等)。使用place方法设置组件的位置,通过指定x和y参数来调整组件在窗口......
  • java使用注解实现系统日志记录
    不论在神魔类型的项目中,日志系统绝对是一个不可少的存在,那么,怎末用一个最简便的方式来实现日志在数据库中的存储呢??最近在项目中正好负责了日志模块的实现,就简单记录一下。我在这个项目中使用的是aop自定义注解的方式,大致步骤如下:1.第一步,首先需要先定义一个注解类,来实现部分方法......
  • FLASK学习记录-Flask表单(一)
     Form表单是一个包含表单元素的区域,允许用户在表单中输入各种信息元素,是前后端交互的重要标签,Form标签常用属性如下:  常用表单控件: 实例:app.pyfromflaskimportFlask,render_template,requestapp=Flask(__name__)@app.route('/',methods=["get","post"]......
  • Unity制作本地离线数字人功能模块记录
    耗时半个月实现数字人各个功能模块记录一下个人感觉比较好的功能模块:1、TTS,语音合成,GPT-SoVITS,可本地部署使用cuda/gpu/cpu运算,https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e2、ASR,语音识别,FunASR,阿里开源模型,可本地部署当前为cpu运算版本,中文识别王......
  • Git学习记录(一):安装与配置
    Git安装:Linux系统自带:终端中输入git即可Windows系统安装:git下载:https://git-scm.com/download/win将git添加至环境变量git--version查看git版本Git配置:gitconfig--global--list 用于查看git配置信息,主要包括邮箱email和姓名namePSC:\Users\qiyh>gitconfi......
  • LeetCode刷题记录——day8
    https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=2024-spring-sprint-100注意每次改变边界都有判断一次classSolution{public:vector<int>spiralOrder(vector<vector<int>>&matrix){vector<int&g......