Sugar.dll 用法:

Sugar.dll是指 Sqlsugar.dll  MySqlSugar.dll SqliteSugar.dll OracleSugar.dll 中任何一个,因为太多我们就简写成Sugar.dll方便和SqlSugarRepository区分开来


普通用法

using (var db = new SqlSugarClient(connectionString)) 
{    
   var list=db.Queryable<T>().ToList();
}


打包用法

/// <summary>
/// SqlSugar
/// </summary>
public class SugarDao
{
    private SugarDao()
    {
    }
    public static string ConnectionString
    {
        get
        {
            string reval = "server=.;uid=sa;pwd=sasa;database=SqlSugarTest"; 
            return reval;
        }
    }
    public static SqlSugarClient GetInstance()
    {
        var db = new SqlSugarClient(ConnectionString);
        db.IsEnableLogEvent = true;//Enable log events
        db.LogEventStarting = (sql, par) => { Console.WriteLine(sql + " " + par+"\r\n"); };
        return db;
    }
}

通过SugarDao类来调用SqlSugarClient对象,这样做的好处是可以在 GetInstance 方法里面做一些公用的配置,调用处都是一个配置。


使用打包后的对象

using (var db = SugarDao.GetInstance())
{    
    var list=db.Queryable<T>().ToList();
}




SqlSugarRepository.dll用法

SqlSugarRepository.dll同时可以操作四种数据库,用法小有区别。


普通用法

using (ISqlSugarClient db = DbRepository.GetInstance(DbType.MySql,MySqlConnString))
{
   var list= db.Queryable<Student>().ToList(); 
}



灵活用法

using NewTest.Demos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugarRepository;
namespace OrmTest
{
    class Program
    {
        private static string SqlConnString = 
        "server=.;uid=sa;pwd=sasa;database=SqlSugarTest";
        
        private static string MySqlConnString = 
        "server=localhost;Database=SqlSugarTest;Uid=root;Pwd=root";
        
        private static string PlSqlConnString = 
        "Data Source=localhost/orcl;User ID=system;Password=xxx;";
        
        private static string SqliteSqlConnString = 
        @"DataSource=F:\SugarForOne\OrmTest\OrmTest\Database\demo.sqlite";
        
        static void Main(string[] args)
        {

            using (MyRepository db = new MyRepository())
            {
                //当前DB是SqlConnection1
                var list= db.Database.Queryable<Student>().ToList(); //使用和其它一模一样只是多了个Database
                //切换到Sqlite2
                db.SetCurrent(db.Sqlite2);
                var list2 = db.Database.Queryable<Student>().ToList();//从Sqlite读取的数据
            }
        }
        public class MyRepository : DbRepository
        {
            public ConnectionConfig SqlConnection1 = 
            new ConnectionConfig() { ConnectionString = SqlConnString, DbType = DbType.SqlServer };
            
            public ConnectionConfig Sqlite2 = 
            new ConnectionConfig() { ConnectionString = SqliteSqlConnString, DbType = DbType.Sqlite };
        }
        public class Student
        {
            public int id { get; set; }
            public string name { get; set; }
        }
    }
}

更多用法


数据库连接池设置

我们可以在连接字符串中设置连接池


pooling=true; --表示开启连接池(默认为开启)


min pool size = 2 --最小连接池大小:即什么也没执行初次连接的时候先和数据库服务建立n个连接


max pool size=4 --最大连接池大小:允许建立的最大连接数,是在需要的时候建立。


举例说明:min pool size = 2;max pool size=4 ; 


收藏到朋友圈: