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同时可以操作四种数据库,用法小有区别。
普通用法
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 ;
2016 © CodeIsBug.comApache Licence 2.0