仓储如何调用全局的数据库链接 返回

SqlSugar
7 195
  public class Repository<T> : SimpleClient<T> where T : class, new()
    {
        public Repository(ISqlSugarClient context = null) : base(context)
        {
	        
	    //不想每个仓储都写下面一段代码,怎么能让它自动调用全局的数据库链接? 也就是在外部怎么能把context传进来?
	 
            if (context == null)
            {
                base.Context = new SqlSugarClient(new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.Sqlite,
                    InitKeyType = InitKeyType.Attribute,
                    IsAutoCloseConnection = true,
                    ConnectionString = Config.ConnectionString
                });
            }
        }

    }


热忱回答7

  • fate sta fate sta VIP0
    1个月前
     public class Repository<T> : SimpleClient<T> where T : classnew()
        {
            public Repository(ISqlSugarClient context = null) : base(context)
            {
                 
            //不想每个仓储都写下面一段代码,怎么能让它自动调用全局的数据库链接? 也就是在外部怎么能把context传进来?
          
                if (context == null)
                {
                    base.Context = SqlSugarScope单例
                }
            }
     
        }


    0 回复
  • fate sta fate sta VIP0
    1个月前

    文档 SqlSugar.IOC可以轻松实现

    0 回复
  • 程小笨 程小笨 VIP0
    1个月前

    @fate sta:谢谢,但是我用的是furion框架,里面好像用的是net ioc?,应该怎么做呢?  抱歉第一次接触net,问的问题比较低级。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    @程小笨:FUR对IOC用哪种方式没有有确要求,用哪种都行

    0 回复
  • fate sta fate sta VIP0
    1个月前

    自带的IOC可以这样获取

      base.Context= HttpContext.RequestServices.GetService<SqlSugar.ISqlSugarClient>();


    0 回复
  • fate sta fate sta VIP0
    1个月前

     furion里面可以用 


     base.Context= App.GetService<SqlSugar.ISqlSugarClient>(); 

    0 回复
  • 程小笨 程小笨 VIP0
    1个月前

    @fate sta:感谢感谢!

    0 回复