1、创建Api项目
2、打开Startup.cs配置上面代码就可以了
public void ConfigureServices(IServiceCollection services) { //注入 ORM services.AddSqlSugar(new IocConfig() { ConnectionString = "server=.;uid=sa;pwd=haosql;database=SQLSUGAR4XTEST", DbType = IocDbType.SqlServer, IsAutoCloseConnection = true//自动释放 }); //设置参数 services.ConfigurationSugar(db => { db.Aop.OnLogExecuting = (sql, p) => { Console.WriteLine(sql); }; //设置更多连接参数 //db.CurrentConnectionConfig.XXXX=XXXX //db.CurrentConnectionConfig.MoreSetting=new MoreSetting(){} //读写分离等都在这儿设置 }); //CodeFirst请写这儿,与SugarIocServices.AddSqlSugar平级 //DbScoped.SugarScope.CodeFirst<T>(); }
在 同一个上下文 或者 同一个异步上下文 SqlSugar是同一个对象
用法:
DbScoped.Sugar 非线程安全
DbScoped.SugarScope 线程安全
优点:适合用于事务处理,支持异步上下文 ,支持跨方法事务
用法如下:
public class OrgManager { public List<UserOrgMapping> GetMapping() { var result=DbScoped.SugarScope.Queryable<UserOrgMapping>().Where(it=>it.Id>0).ToList(); DbScoped.SugarScope.Deleteable<Student>().In(1).ExecuteCommand(); //建议用DbScoped.SugarScope return result; } }
DbTransient是每一次调用都是一个新的SqlSugar对象,用法基本同上 DbTransient.Sugar.XXXX
var db=DbTransient.Sugar; //如果想保证上下文是一个需要用变量db对接收
几行代码就实现了SqlSugar注入的完整使用,对于大部分用户,只需要看这一篇文章就可以了
2016 © donet5.comApache Licence 2.0