当前位置:Gxlcms > 数据库问题 > C# SqlSugarClient分析一点

C# SqlSugarClient分析一点

时间:2021-07-01 10:21:17 帮助过:119人阅读

class UserManager : DbContext<User>{} UserManager userdb = new UserManager(); //创建对象 var user = userdb.GetFirst(u => u.UserName == userName && u.Password == pwd); //继承,可以使用父类方法GetFirst() public class DbContext<T> where T : class, new() { public SqlSugarClient Db;//用来处理事务多表查询和复杂的操作 public DbContext() { Db = new SqlSugarClient(new ConnectionConfig() { … }); } public virtual T GetFirst(Expression<Func<T, bool>> whereExpression) { return Db.Queryable<T>().First(whereExpression); } } SqlSugarClient Db对象下面的方法 public class SqlSugarClient : ISqlSugarClient, IDisposable, Itenant { public SqlSugarProvider Context => GetContext(); //public ISugarQueryable<T> Queryable<T>(); public ISugarQueryable<T> Queryable<T>() { return Context.Queryable<T>(); //返回的对象的类是继承于ISugarQueryable<T>接口 //所以可以继续点first方法 Db.Queryable<T>().First(whereExpression); } private SqlSugarProvider GetContext() { if (IsSameThreadAndShard()) { return SameThreadAndShard(); } if (IsNoSameThreadAndShard()) { return NoSameThreadAndShard(); } if (IsSynchronization()) { return Synchronization(); } return NoSameThread(); } } //接口 ; 继承并实现first方法 public interface ISugarQueryable<T> { T First(Expression<Func<T, bool>> expression); } // \.nuget\packages\sqlsugarcore\5.0.0.1\lib\netstandard2.0\SqlSugar.dll

 

cehsimodelManager abc = new cehsimodelManager();
abc.GetFirst(u => u.btnname == "admin" && u.btnid == "123465");   //c#
//sql
exec sp_executesql NSELECT * FROM (SELECT [btnname],[btnid],ROW_NUMBER() OVER(ORDER BY GETDATE() ) AS RowIndex FROM [cehsimodel] WHERE (( [btnname] = @btnname0 ) AND ( [btnid] = @btnid1 ))) T WHERE RowIndex BETWEEN 1 AND 1,N@btnname0 nvarchar(4000),@btnid1 nvarchar(4000),@btnname0=Nadmin,@btnid1=N123465 --[cehsimodel] 类的名称要和表名称一致

 

public class cehsimodelManager : DbContext<cehsimodel>
{}

//类

public class cehsimodel
{
public string btnname { get; set; }

public string btnid { get; set; }
}

C# SqlSugarClient分析一点

标签:amp   private   ESS   sha   getc   返回   iss   use   pass   

人气教程排行