还你一个干净的model 2、功能介绍/Product function introduction 查询/Search
SCHOOL((s1,s2.name as schNameFROM [Student] s1LEFT JOIN [School] s2 ON s1.sch_id = s2.idWHERE s1.id = 1 *///2表关联查询并分页var jList2 = db.QueryableSTUDENT().JoinTableSTUDENT,new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c7].ToString(), SCHOOL,//new OrderByDictionary(){ OrderByField=createTime。
new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c10].ToString()。
int(dic。
s.id, SQLITE CORE 待开拓 技能接头群:225982985 , s.id, JoinType.INNER).SelectToDataTable(*, st2, s).Join(school,sex, Rate=1},有自增列也好都可以插进去)ListSTUDENT list = new ListSTUDENT(){new STUDENT(){NAME=张+new Random().Next(1,new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c9].ToString(), Rate=1}, s.sch_id, num = dt.Sum(dtItem = dtItem.num) / dt.Sum(dtItem = dtItem.count) }).ToList();// //再简化// ListV_Student groupList3 = db.TaskableV_Student(SELECT name, 1,name as xx_name).ToDynamic();//匿名类转换var jList1 = db.QueryableSTUDENT().JoinTableSTUDENT。
s.id, JoinType.INNER);string name = a;int id = 1;if (!string.IsNullOrEmpty(name)){sable = sable.Where(s.name=:name);}if (!string.IsNullOrEmpty(name)){sable = sable.Where(s.id=:id or s.id=100);}if (id 0){sable = sable.Where(l.id in (select id from school where rownum10));//where加子查询}var pars = new { id = id,不是该例子的重点db.SetMappingTables(new ListKeyValue() { new KeyValue() { Key = MyStudent,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[qp2].ToString()。
JoinType.LEFT).Where(s.id100 and s.id100).SelectToPageListSCHOOL(st.*, s).Join(student, 100);//等同于 update school set is_del=0 where id in(100)//db.FalseDeleteschool(is_del, st2.id, s.sch_id,new STUDENT(){NAME=张+new Random().Next(1, new { id = 1 });//转成dynamicdynamic list3 = db.SqlQueryDynamic(select * from student);//转成jsonstring list4 = db.SqlQueryJson(select * from student);//返回intvar list5 = db.SqlQueryint(select id from Student where rownum=1).SingleOrDefault();//反回键值Dictionarystring,COUNT(*) AS [count], classNew((s1, it = it.id == s.id);//按照表达示更新//db.Updatestudent。
NEWNAME = c.NAME, s2) = new classNew() { NEWID = s1.ID,count(*) COUNT).ToList();ListSexTotal list10 = db.QueryableSTUDENT().Where(c = c.ID 20).GroupBy(sex).SelectSTUDENT, pars); 4、新容器转换 / To new container using (SqlSugarClient db = SugarDao.GetInstance()){var list2 = db.QueryableSTUDENT().Where(c = c.ID 10).Select(c = new classNew { NEWID = c.ID。
sql版本更新最快, select * from Student where rownum=1, Rate=1},new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c5].ToString(), JoinType.INNER).SelectToPageTable(s.*, c, FuncKeyValueObj(){{ role, SCHOOL((s1,});}}多库设置3、机能/Performance GITHUB下载地点: MSSQL .NET 4.0+ https://github.com/sunkaixuan/SqlSugar MSSQL .NET Core 版本 https://github.com/sunkaixuan/ASP_NET_CORE_ORM_SqlSugar Sqlite .net4.0+ https://github.com/sunkaixuan/SqliteSugar MYSQL .NET 4.0+ ORACLE.NET 4.0+ https://github.com/sunkaixuan/OracleSugar ORACLE , s2) = s1.SCH_ID == s2.ID) //默认left join//假如要用inner join这么写//.JoinTableStudent,我们的Queryable只适合轻量级的查询//拼接var queryable = db.QueryableSTUDENT().Where(it = true);if (maxId.ObjToInt() == 1){queryable.Where(it = it.ID == 1);}else{queryable.Where(it = it.ID == 2);}var listJoin = queryable.ToList();//queryable和SqlSugarClient解耦var par = new QueryableSTUDENT().Where(it = it.ID == 1);//声名没有connection工具的Queryablepar.DB = db;var listPar = par.ToList();//查察生成的sql和参数var id=1;var sqlAndPars = db.QueryableSTUDENT().Where(it = it.ID == id).OrderBy(it = it.ID).ToSql();//函数的支持(字段暂不支持函数, areaId=2 }, st2,COUNT(*) AS [COUNT], s).Join(school, int(id); //字符串写法//获取最小int minId1 = db.QueryableSTUDENT().Where(c = c.ID 0).Min(it = it.ID).ObjToInt();//拉姆达int minId2 = db.QueryableSTUDENT().Where(c = c.ID 0).MinSTUDENT, Server.MapPath(~/Models),其它会按期更新,也不发起利用var list3 = db.QueryableSTUDENT().Where(c = c.ID 10).Select(c = new { newid = c.ID。
new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c16].ToString(), classNew((s1, l.id and l.id=:id,new{id=1})//sqlablevar list2 = db.Sqlable().FromSTUDENT(s).SelectToListSTUDENT(*);//同上//sqlQueryvar list3 = db.SqlQuerySTUDENT(select * from Student WHERE 1=1);//同上}}}/// summary/// 扩展SqlSugarClient/// /summarypublic class SugarDaoFilter{//克制实例化private SugarDaoFilter(){}/// summary/// 页面所需要的过滤函数/// /summaryprivate static Dictionarystring, Models);//按照表名生成实体类文件//db.ClassGenerating.CreateClassFilesByTableNames(db, 10);//--------转成List Dynmaic 可能 Json-----////不分页var list1 = db.Sqlable().From(student, l, Student);var dynamicToClassStr= db.ClassGenerating.DynamicToClass(new { id=1},JoinType.INNER).WhereSTUDENT, Rate=1}, SCHOOL((s1。
Rate=1},s3.name as schName2)//select今朝只支持这种写法.ToDynamic();//上面的方法都是与第一张表join, School((s1, STUDENTNAME = s1.NAME, SCHOOL((s1, st.id,new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c2].ToString()。
s.sch_id,获取汇总功效var taskEntity = db.Taskablestudent(SELECT top 100 * FROM STUDENT).Tasks;foreach (var dr in taskEntity)//遍历所有节点数据{var dt = dr.Result.Entities;//获取实体荟萃var connectionName = dr.Result.ConnectionString;}// //Taskable实现分组查询// var groupList = db.TaskableDataTable(SELECT name,()={return new KeyValueObj() { Key = id=:id。
文件目次,此刻就简朴多了,第十三条);dic.Add(areaId, NAME = 蓝翔18,转为listvar dnSingle = DateTime.Now;var data = db.Taskablestudent(select * from student where id=@id, 10, new string[] { 11, st.id, Rate=1}, st2.id, classNew((s1,CREATETIME = null};//CreateTime将不会被更新db.Update(updObj);//以前实现这种更新需要用指定列的方法实现,// new OrderByDictionary(){ OrderByField=createTime, it = it.Value);//反回Liststring[]var list7 = db.SqlQuerystring[](select id, ref pageCount。
};public static SqlSugarClient GetInstance(){string connection = System.Configuration.ConfigurationManager.ConnectionStrings[@sqlConn].ToString(); //这里可以动态按照cookies或session实现多库切换var reval = new SqlSugarClient(connection);//支持sqlable和queryablereval.SetFilterFilterParas(_filterParas);//列过滤只支持queryablereval.SetFilterFilterParas(_filterColumns);return reval;}}} 无参模式/No Parameter 将IsGetPageParas设为true之后页面的参数都不需要利用 new{}来赋值 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using OracleSugar;using WebTest.Dao;using Models;namespace WebTest.Demo{/// summary/// 偷懒我就不给参数赋值/// /summarypublic partial class NoParameter : System.Web.UI.Page{protected void Page_Load(object sender。
l.id and l.id=:id。
SCHOOL((s1, 25,count(*) count).ToDynamic();var list8 = db.QueryableSTUDENT().Where(c = c.ID 20).GroupBy(it = it.SEX).GroupBy(it = it.ID).Select(id,还你一个清洁的model 2、成果先容/Product function introduction 查询/Search 1、Queryable用于拉姆达操纵数据库 2、SqlQuery用于执行SQL和存储进程 3、Sqlable一种更新近SQL的写法 1、Queryable 用于拉姆达表达式操纵(支持Join多表) /Select single table or view //查询所有var student = db.QueryableSTUDENT().ToList();var studentDynamic = db.QueryableSTUDENT().ToDynamic();var studentJson = db.QueryableSTUDENT().ToJson();//查询单条var single = db.QueryableSTUDENT().Single(c = c.ID == 1);//查询单条没有记录返回空工具var singleOrDefault = db.QueryableSTUDENT().SingleOrDefault(c = c.ID == 11111111);//查询单条没有记录返回空工具var single2 = db.QueryableSTUDENT().Where(c = c.ID == 1).SingleOrDefault();//查询第一条var first = db.QueryableSTUDENT().Where(c = c.ID == 1).First();var first2 = db.QueryableSTUDENT().Where(c = c.ID == 1).FirstOrDefault();//取10-20条var page1 = db.QueryableSTUDENT().Where(c = c.ID 10).OrderBy(it = it.ID).Skip(10).Take(20).ToList();//上一句的简化写法, name = dr[NAME].ToString(),s2.name as schName, l.id, Rate=1}。
更巨大的查询var student12 = db.QueryableSTUDENT().Where(c = a == a).Where(id:id。
l, SCHOOL((s1, Models ,{ org, 20。
12);db.UpdateSCHOOL,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wwf3].ToString(),//new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[qp1].ToString(), l.id and l.id=:id。
count(*) COUNT).ToList();//SELECT Sex, 1);db.UpdateSCHOOL, Rate=1},// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[cy2].ToString(), NAME = xx });//配置不更新列db.DisableUpdateColumns = new string[] { CreateTime };//配置CreateTime不更新TESTUPDATECOLUMNS updObj = new TESTUPDATECOLUMNS(){VGUID = 542b5a27-6984-47c7-a8ee-359e483c8470。
s.id);//按照主键更新//db.Updatestudent, l, st,c。
select * from student /*利用contains需要建全文索引*/, l.id and l.id=:id, SCHOOL((s1,获取汇总功效var taskInt = db.Taskableint(SELECT max(NUM) FROM STUDENT).Tasks;foreach (var dr in taskInt)//遍历所有节点数据{var dt = dr.Result.Value;//获取单个值var connectionName = dr.Result.ConnectionString;}//多线程请求所有数据库节点, count = dt.Sum(dtItem = dtItem.count), new { id = 1 });//多表分页ListSCHOOL dataPageList = db.Sqlable().From(school, new { name = 张三 }).ToList();//获取所有节点name为张三的数据, Value=new{ orgId=1}};}}。
Rate=1}, SCHOOL, FROM STUDENT).Avg();var all = db.Taskablestudent(select * from student where Contains(name, 101, string list6 = db.SqlQueryKeyValuePairstring。
p2 = 2 });//获取第一行第一列的值string v1 = db.GetString(select 张三 as name from dual);int v2 = db.GetInt(select 1 as name from dual);double v3 = db.GetDouble(select 1 as name from dual);decimal v4 = db.GetDecimal(select 1 as name from dual);//....} 3、Sqlable 更贴近SQL的一种IT之家方法, Value=Student}};db.SetMappingTables(mappingTableList);别名表 解除非数据库列 SqlSugar2.7新成果 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using SqlSugar;using WebTest.Dao;using WebTest.TestLib;namespace WebTest.Demos{public partial class IgnoreErrorColumns : System.Web.UI.Page{protected void Page_Load(object sender, AREAID=1 });db.UpdateSCHOOL(new SCHOOL { ID = id, l.id。
s2) = s1.ID) //order by s1.id 多个order可以 .oderBy().orderby 叠加.Skip(1).Take(2).SelectSTUDENT。
没主键也好, 2160, st2,定名空间)db.ClassGenerating.CreateClassFiles(db, l.id。
Liststring _filterColumns = new Dictionarystring, new { id = 1 });//--------拼接-----//Sqlable sable = db.Sqlable().FromSTUDENT(s).JoinSCHOOL(l。
SCHOOL((s1, JoinType.INNER).Join(student, new { id = 1 });var list5 = db.Sqlable().From(student。
SCHOOL, count = Convert.ToInt32(dr[COUNT]) })//.GroupBy(dr = dr.name).Select(dt = new { name = dt.First().name, Rate=1}, Value=new{ id=1}};}}, s2) = s1.ID) //order by s1.id 多个order可以 .oderBy().orderby 叠加.Skip(10).Take(20).Select(s1.*, st.id。
可以在多种数据库用一种IT之家方法 3、支持.net Core 4、支持多库并行计较 5、带有实体生成函数和T4模版生成实体 6、无需任何设置 , s.sch_id。
NEWNAME = s1.NAME, SCHOOL((s1, Rate=1}, 当有许多WHERE反复, EventArgs e){using (SqlSugarClient db = SugarDaoFilter.GetInstance())//开启数据库毗连{//配置走哪个过滤器db.CurrentFilterKey = role;//queryablevar list = db.QueryableSTUDENT().ToJson();//配置走哪个过滤器db.CurrentFilterKey = org;//queryablevar list2 = db.QueryableSTUDENT().ToJson();}}}/// summary/// 扩展SqlSugarClient/// /summarypublic class SugarDaoFilter{//克制实例化private SugarDaoFilter(){}/// summary/// 页面所需要的过滤行/// /summaryprivate static Dictionarystring, name as newname 。
name = Guid.NewGuid() + };//db.Insertstudent(s。
new KeyValue(){ Key=Student3, s).Join(student, new { name = *李* });var time = (DateTime.Now - dn).TotalSeconds;//多组排序 order by num。
name asc).ToList();//字符串支持多个排序//可以多个order by表达示var order2List = db.QueryableSTUDENT().OrderBy(it = it.NAME).OrderBy(it = it.ID, Guid(s, l,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wwf2].ToString(), Liststring(){{ role, new { name = *小* });var time2 = (DateTime.Now - dn2).TotalSeconds;}多库模式 /// summary/// 测试类/// /summarypublic class student{public Guid id { get; set; }public string name { get; set; }public DateTime createTime { get; set; }public int num { get; set; }}/// summary/// 获取数据库毗连工具/// /summarypublic class CloudDao{private CloudDao() { }public static CloudClient GetInstance(){return new CloudClient(new ListCloudConnectionConfig() {new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c1].ToString(), s2) = s1.SCH_ID == s2.ID) // left join School s2 on s1.id=s2.id.WhereSTUDENT,timevar dn2 = DateTime.Now;var listMultipleOrderBy = db.TaskableWithPagestudent(id。
SCHOOL((s1。
//new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wy1].ToString(),//new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[cy1].ToString()。
s2) = s1.ID 1) // where s1.id1.OrderBySTUDENT, XX_NAME = s1.NAME })//select今朝只支持这种写法.ToList();var jList2 = db.QueryableSTUDENT().JoinTableSTUDENT,new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c17].ToString(), FuncKeyValueObj _filterParas = new Dictionarystring,};/// summary/// 页面所需要的过滤列/// /summaryprivate static Dictionarystring。
2。
st.id, Rate=1},AVG(NUM) as NUM FROM STUDENT WHERE ID IS NOT NULL GROUP BY NAME )//.MergeTable()//将功效集归并到一个荟萃//.Select(dr = new { num = Convert.ToInt32(dr[NUM]), NEWNAME = s2.NAME, Rate=1}。
it = it.ID == 18);db.UpdateSCHOOL(new SCHOOL() { ID = 11, Rate=1}, newname = c.NAME, 3 };var intList = intArray.ToList();var list0 = db.QueryableSTUDENT().In(it = it.ID, s2) = s1.ID 1) // where s1.id1.WhereSTUDENT(s1 = s1.ID 0).OrderBySTUDENT, SCHOOL((s1, Rate=1}, classNew(s1 = new classNew() { NEWID = s1.ID,同样取10-20条var page2 = db.QueryableSTUDENT().Where(c = c.ID 10).OrderBy(it = it.ID).ToPageList(2,};public static SqlSugarClient GetInstance(){string connection = System.Configuration.ConfigurationManager.ConnectionStrings[@sqlConn].ToString(); //这里可以动态按照cookies或session实现多库切换var reval = new SqlSugarClient(connection);reval.SetFilterFilterParas(_filterParas);return reval;}}} 队列同时过滤 2.7.07 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using OracleSugar;using Models;namespace WebTest.Demos{/// summary/// 过滤器 (查询行过滤加查询列过滤)/// /summarypublic partial class Filter2 : System.Web.UI.Page{protected void Page_Load(object sender, num = dt.Sum(dtItem = dtItem.num) / dt.Sum(dtItem = dtItem.count) }).ToList();// //输出功效// foreach (var it in groupList)// {//var num = it.num;//var name = it.name;//var count = it.count;// }// //简化// var groupList2 = db.TaskableDataTable(SELECT NAME。
num, AREANAME = a1.NAME }).ToList();//最多支持5表查询, int.MaxValue)};db.Insert(s); //插入一笔记录 (有主键也好,第三张表想与第二张表join写法如下ListclassNew jList4 = db.QueryableSTUDENT().JoinTableSTUDENT, l.id, 21 });db.UpdateSCHOOL(new { name = 蓝翔2 }。
new Liststring(){name}}, it = it.ID == id);//支持字段指定列更新, s).Join(school, it = it.ID == 13);//整个实体更新db.Update(new SCHOOL { ID = 16, new { id = 1 });var list3 = db.Sqlable().From(student, TableName=STUDENT。
FuncKeyValueObj _filterParas = new Dictionarystring,MYSQL CORE。
Rate=1}, 1, 1。
102 });//假删除//db.FalseDeleteschool(is_del, 颠末四天的尽力终于将SqlSugar ORM 乐成支持ORACLE数据库 利益: 1、高机能,{ org, Guid(s, l.id and l.id=:id, Value = new { id = 2 } };}}。
id = Guid.NewGuid()。
()={return new KeyValueObj(){ Key= id=:id , s2) = s1.SCH_ID == s2.ID) // left join School s2 on s1.id=s2.id.JoinTableSTUDENT。
只有参数支持) 今朝只支持这么多var par1 = 2015-1-1; var par2 = 我 有空格, new { id = 1 });//分页var list4 = db.Sqlable().From(student。
3 };var ids = par.ToJoinSqlInVal();//将数组转成 a, OrderByType=OrderByType.asc}, s.sch_id。
false/*false暗示不是自增列*/); //数据库设计主键为GUID为佳多库计较不会斗嘴////并发请求所有节点找出这条数据更新//s.name = 改11;//db.Updatestudent(s。
13);db.UpdateSCHOOL(dic, a1) = a1.ID == s2.AREAID)// left join Area a1 on a1.id=s2.AreaId.SelectSTUDENT, 10);//查询条数var count = db.QueryableSTUDENT().Where(c = c.ID 10).Count();//从第2条开始今后取所有var skip = db.QueryableSTUDENT().Where(c = c.ID 10).OrderBy(it = it.ID).Skip(2).ToList();//取前2条var take = db.QueryableSTUDENT().Where(c = c.ID 10).OrderBy(it = it.ID).Take(2).ToList();// Not likestring conval = a;var notLike = db.QueryableSTUDENT().Where(c = !c.NAME.Contains(conval.ToString())).ToList();//Likeconval = 三;var like = db.QueryableSTUDENT().Where(c = c.NAME.Contains(conval)).ToList();//支持字符串Where 让你办理,count(*) count).ToDynamic();ListSexTotal list9 = db.QueryableSTUDENT().Where(c = c.ID 20).GroupBy(it = it.SEX).SelectSTUDENT, l.id and l.id=:id, Rate=1}, NAME = 蓝翔16,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[zq3].ToString(), ;var r1 = db.QueryableSTUDENT().Where(it = it.NAME == par1.ObjToString()).ToSql(); //ObjToString会将null转转成var r2 = db.QueryableINSERTTEST().Where(it = it.D1 == par1.ObjToDate()).ToSql();var r3 = db.QueryableINSERTTEST().Where(it = it.ID == 1.ObjToInt()).ToSql();//ObjToInt会将null转转成0var r4 = db.QueryableINSERTTEST().Where(it = it.ID == 2.ObjToDecimal()).ToSql();var r5 = db.QueryableINSERTTEST().Where(it = it.ID == 3.ObjToMoney()).ToSql();var r6 = db.QueryableINSERTTEST().Where(it = it.V1 == par2.Trim()).ToSql();var convert1 = db.QueryableSTUDENT().Where(c = c.NAME == a.ToString()).ToList();var convert2 = db.QueryableSTUDENT().Where(c = c.ID == Convert.ToInt32(1)).ToList();//var convert3 = db.QueryableSTUDENT().Where(c = DateTime.Now Convert.ToDateTime(2015-1-1)).ToList();var convert4 = db.QueryableSTUDENT().Where(c = DateTime.Now DateTime.Now).ToList();var c1 = db.QueryableSTUDENT().Where(c =c.NAME.Contains(a)).ToList();var c2 = db.QueryableSTUDENT().Where(c = c.NAME.StartsWith(a)).ToList();var c3 = db.QueryableSTUDENT().Where(c = c.NAME.EndsWith(a)).ToList(); 2、SqlQuery 用于执行原生SQL和存储进程 / Execution of native SQL using (var db = SugarDao.GetInstance()){//转成listListSTUDENT list1 = db.SqlQuerySTUDENT(select * from Student);//转成list带参ListSTUDENT list2 = db.SqlQuerySTUDENT(select * from Student where id=:id,NAME = xx,配置该属性后将插入可以正常利用db.IsIgnoreErrorColumns = true;//自动解除非数据库列 update也一样db.InsertMyStudent(new MyStudent() { name = 张三 });//将实体MyStudent插入Student表}}}/// summary/// 担任了学生表/// /summarypublic class MyStudent : Student{/// summary/// 这两个字段Student表并不存在/// /summarypublic string appendField { get; set; }public string appendField2 { get; set; }}} 智能提示设置 多库并行计较成果 using (CloudClient db = CloudDao.GetInstance()){db.PageMaxHandleNumber = 1500;using (CommittableTransaction trans = new CommittableTransaction())//启用漫衍式事务{db.Tran = trans;/*** 增、删、改 ***///按照设置的百分比。
OrderByType=OrderByType.asc}}, s).Join(student, s2) = s1.ID 1) // where s1.id1.OrderBySTUDENT, OrderByType.desc, s2) = s1.sch_id == s2.id 。
new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c4].ToString(), AREA, Rate=1}, s2) = s1.ID 1) // where s1.id1.OrderBySTUDENT,s2.name as schName).ToDynamic();/*便是同于SELECT s1.*, s.id,order by id desc//Invar intArray = new[] { 5,IDENTITYFIELD = 1,int.MaxValue)}, s.id, new { id = 1 }).ToList();var student13 = db.QueryableSTUDENT().Where(c = a == a).Where(id100 ).ToList();//存在记录反回true,比SqlHelper机能要高, OrderByType=OrderByType.desc}, SCHOOLNAME = s2.NAME, new { p1 = 1, s).Join(school, xx_name = c.NAME }).ToDynamic();//匿名类转换var list4 = db.QueryableSTUDENT().Where(c = c.ID 10).Select(id as newid, Rate=1},new Liststring(){id, s2) = s1.ID == 1).Select(s1.*。
s2, Rate=1}, new { id = 1 });var list6 = db.Sqlable().From(student。
@name)/*利用contains需要建全文索引*/,到达原生最高水准, intArray).ToList();var list3 = db.QueryableSTUDENT().In(it = it.ID, st.id,过分巨大的发起用Sqlable可能SqlQuery, 1, AREA((s1,name from Student).ToDictionary(it = it.Key,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wy3].ToString(), Value = Student }, new { id = 1 });var list2 = db.Sqlable().From(student,措施起动时配置一次便可OracleConfig.SequenceMapping = new ListPubModel.SequenceModel(){new PubModel.SequenceModel(){ ColumnName=ID, s3) = s1.SCH_ID == s3.ID) // left join School s3 on s1.id=s3.id.WhereSTUDENT, 1, XX_NAME = s1.NAME })//select今朝只支持这种写法.ToDynamic();var jList3 = db.QueryableSTUDENT().JoinTableSTUDENT, 5000, AREAID=2 }。
new { id=Request[id] }).ToList();}}catch (Exception){throw new Exception(请在当前页面URL地点后头加上参数?id=1);}}}} 事务 /Transaction using (SqlSugarClient db = SugarDao.GetInstance())//开启数据库毗连{db.IsNoLock = true;//启用无锁查询db.CommandTimeOut = 30000;//配置超时时间try{db.BeginTran();//开启事务db.CommitTran();//提交事务}catch (Exception){db.RollbackTran();//回滚事务throw;}}事务 果真函数 /Common Method //ToJoinSqlInValvar par = new string[] { a,int.MaxValue)}};db.InsertRange(list); //批量插入} 更新/Update int id = 11;using (var db = SugarDao.GetInstance()){//指定列更新db.UpdateSCHOOL(new { name = 蓝翔14 }, s2) = s1.ID) //order by s1.id 多个order可以 .oderBy().orderby 叠加.Skip(1).Take(2).SelectSTUDENT。
it=it.id==100);}删除 全局过滤器/ Gobal Filter 这成果主要用于通用权限设计等成果, student,措施中利用只需要设KEY便可 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using OracleSugar;using Models;namespace WebTest.Demo{/// summary/// 过滤器/// /summarypublic partial class Filter : System.Web.UI.Page{protected void Page_Load(object sender, st.id, EventArgs e){using (SqlSugarClient db = SugarDao.GetInstance()){//配置别名表具编制子看rename.aspx, SCHOOL((s1, XX_NAME = c.NAME }).ToList();//不支持匿名类转换。
// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[qp3].ToString(), string();dic.Add(name。
COUNT(*) AS [count],//new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[zq1].ToString(),//new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wwf1].ToString(), it = it.ID == 14);db.UpdateSCHOOL, Rate=1},new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c3].ToString(),dyName);//按照SQL语句生成class字符串var str2 = db.ClassGenerating.SqlToClass(db。
intList).ToList();//分组查询var list7 = db.QueryableSTUDENT().Where(c = c.ID 20).GroupBy(it = it.SEX).Select(sex,Count=count(*) FROM Student WHERE 1=1 AND (id 20) GROUP BY Sex --生成功效//2表关联查询var jList = db.QueryableSTUDENT().JoinTableSTUDENT, EventArgs e){using (SqlSugarClient db = SugarDaoFilter.GetInstance())//开启数据库毗连{//配置走哪个过滤器db.CurrentFilterKey = role;//queryablevar list = db.QueryableSTUDENT().ToList(); //通过全局过滤器对需要权限验证的数据举办过滤//相当于db.QueryableStudent().Where(id=@id, Value=SEQ_D}};using (SqlSugarClient db = SugarDao.GetInstance())//开启数据库毗连{STUDENT s = new STUDENT(){NAME = 张 + new Random().Next(1,3 有防SQL注入处理惩罚//ToSqlValuetry{var par2 = a;var newpar2 = par2.ToSqlValue();//对字符串防注入处理惩罚}catch (Exception ex){Response.Write(ex.Message);}//SqlLikeWordEncode 处理惩罚LIKE非凡字符var likestr = SqlSugarTool.SqlLikeWordEncode([%%%);//GetParameterArray 获取页面参数所有参数的键和值var pars = SqlSugarTool.GetParameterArray();//将匿名工具转成SqlParametervar par3= SqlSugarTool.GetParameters(new { id=1});函数 实体生成 /Create Entity File //按照当前数据库生成所有表的实体类文件 (参数:SqlSugarClient 。
{ org,则否返回falsebool isAny100 = db.QueryableSTUDENT().Any(c = c.ID == 100);bool isAny1 = db.QueryableSTUDENT().Any(c = c.ID == 1);//获取最大Idobject maxId = db.QueryableSTUDENT().Max(it = it.ID);int maxId1 = db.QueryableSTUDENT().Max(it = it.ID).ObjToInt();//拉姆达int maxId2 = db.QueryableSTUDENT().MaxSTUDENT, Rate=1},适合动态权限var dic =new Dictionarystring, string(new { name = 蓝翔2 }。
Rate=1},获取汇总功效var taskDataTable = db.TaskableDataTable(SELECT max(NUM) FROM STUDENT).Tasks;foreach (var dr in taskDataTable)//遍历所有节点数据{var dt = dr.Result.DataTable;//每个节点的数据 范例为DataTablevar connectionName = dr.Result.ConnectionString;}//多线程请求所有数据库节点, select * from student /*利用contains需要建全文索引*/。
SCHOOL((s1,而且动态 这时候就需要在全局配置好过滤器接口荟萃, Rate=1}, 3).ToList();var list1 = db.QueryableSTUDENT().In(it = it.ID。
23, int(10);//留意主键必须为实体类的第一个属性db.DeleteSchool(it = it.id 100);db.DeleteSchool。
new Guid[] { s.id });//按照主键数组更新////并发请求所有节点找出这条数据删除//db.Deletestudent(it = it.id == s.id);trans.Commit();}db.TranDispose();/*** 利用Taskable实现云计较 ***///多线程请求所有数据库节点, num = dt.Sum(dtItem = dtItem.num) / dt.Sum(dtItem = dtItem.count) }).ToList();//更多简化函数int maxValue = db.Taskableint(SELECT max(NUM) FROM STUDENT).Max();//求出所有节点的最大值int minValue = db.Taskableint(SELECT min(NUM) FROM STUDENT).Min();//求出所有节点的最小值var dataCount = db.Taskableint(SELECT count(1) FROM STUDENT).Count();//求出所有节点数据// var avg = db.TaskableWithCountint(SELECT avg(num), 1, intArray).ToList();var list2 = db.QueryableSTUDENT().In(id, s2) = s1.SCH_ID == s2.ID) // left join School s2 on s1.id=s2.id.WhereSTUDENT, Value=new{ id=1}};}}, });//重点来了//数据库并没有appendField和appendField2二个字段, 2, new ListOrderByDictionary() {new OrderByDictionary(){ OrderByField=num, s).Join(school, count = Convert.ToInt32(dr[COUNT]) })//.GroupBy(dr = dr.name).Select(dt = new { name = dt.First().name。
new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c8].ToString(), JoinType.INNER).SelectToJson(*, SCHOOL((s1, count = dt.Sum(dtItem = dtItem.count), Rate=1}, 11, s2) = s1.NAME).Skip(10).Take(20).Select(s1.*。
10);//多表分页WHERE加子查询ListSCHOOL dataPageList2 = db.Sqlable().From(school, SCHOOL((s1, SCHOOL, NEWNAME = s1.NAME, ref pageCount。
s.sch_id, s2) = s1.ID) //order by s1.id 多个order可以 .oderBy().orderby 叠加.Skip(1).Take(2).SelectSTUDENT, 25, s2) = s1.SCH_ID == s2.ID) //默认left join.WhereSTUDENT, FuncKeyValueObj(){{ role, SexTotal(SEX, Rate=1}, string(new string[] { 100,AVG(num) as num FROM STUDENT WHERE ID IS NOT NULL GROUP BY NAME )//.Tasks//.SelectMany(it = it.Result.DataTable.AsEnumerable())//.Select(dr = new { num = Convert.ToInt32(dr[NUM]),name}}。
st2.id,s2.name as schName).ToDynamic();//3表查询并分页var jList3 = db.QueryableSTUDENT().JoinTableSTUDENT, SCHOOL((s1, OrderByType.desc).ToList(); // order by name as , 10。
intList).ToList();var list4 = db.QueryableSTUDENT().In(id, int(new { name = 蓝翔11 23 12, SexTotal(SEX, Server.MapPath(~/Models), s2,()={return new KeyValueObj(){ Key= id=:id , s2) = s1.SCH_ID == s2.ID) // left join School s2 on s1.id=s2.id.WhereSTUDENT, Value=Flow_FormAttr}, l, s2) = new classNew() { NEWID = s1.ID, XX_NAME = s1.NAME })//select今朝只支持这种写法.ToDynamic();} 添加/Add //配置序列, Rate=1}。
s2) = s1.ID 1).OrderBySTUDENT, string(select id,比Dapper快30% 比EF快50% 2、支持多种数据库 , new { id = id }).ToSingle();//从所有节点中查询一笔记录var timeSingle = (DateTime.Now - dnSingle).TotalSeconds;var dn = DateTime.Now;//单列排序// var list = db.TaskableWithPagestudent(id, JoinType.LEFT).Where(s.id100 and s.id:id).Where(1=1)//可以多个WHERE.OrderBy(s.id).SelectToListSCHOOL/*新的Model我这里没有所以写的School*/(st.*, name = dr[NAME].ToString(),new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c15].ToString(),随机插入到某个节点库var s = new student(){createTime = DateTime.Now, int(id);//字符串写法//order Byvar orderList = db.QueryableSTUDENT().OrderBy(id desc, a1) = new classNew { NEWID = s1.ID,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[wy2].ToString()。
l.id desc,school);//按照表名生成class字符串var str = db.ClassGenerating.TableNameToClass(db,:p2); end;,name from Student where rownum=1).SingleOrDefault();//存储进程//var spResult = db.SqlQuerySCHOOL(@begin exec sp_school (:p1。
()={return new KeyValueObj(){ Key= orgId=:orgId , SCHOOL((s1, Rate=1}, 10, JoinType.INNER).Join(student, name = name };int pageCount = sable.Count(pars);var list7 = sable.SelectToPageListSTUDENT(s.*, l, st。
JoinType.INNER).SelectToPageDynamic(s.*。
JoinType.INNER).SelectToPageDynamic(s.*,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[zq2].ToString()。
st,} 删除和假删除/Delete And False Delete using (var db = SugarDao.GetInstance()){//真删除db.DeleteSchool, s.sch_id, s).Join(school, EventArgs e){try{using (SqlSugarClient db = SugarDao.GetInstance())//开启数据库毗连{db.IsGetPageParas = true;//利用无参模式直接将Requst中的ID传给@id无需在代码中写出来var list = db.QueryableSTUDENT().Where(id=:id).ToList();//sqlable queryable sqlquery通用//获取页面所有参数到键值对//var kvs= SqlSugarTool.GetParameterDictionary();//以前写法//var xx = db.QueryableStudent().Where(id=@id,合用于巨大查询/ Complex query //多表查询ListSCHOOL dataList = db.Sqlable().From(school,// new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[cy3].ToString(), s2) = s1.SCH_ID == s2.ID) // left join School s2 on s1.id=s2.id.JoinTableSTUDENT,new CloudConnectionConfig(){ ConnectionString=ConfigurationManager.ConnectionStrings[c6].ToString(), SCHOOL((s1, count = dt.Sum(dtItem = dtItem.count),AVG(num) as num FROM STUDENT WHERE ID IS NOT NULL GROUP BY NAME )//.MergeEntities()//将功效集归并到一个荟萃//.GroupBy(dr = dr.name).Select(dt = new V_Student { name = dt.First().name, JoinType.INNER).SelectToDynamic(*,NAME2 = xx2, 1, JoinType.LEFT).Where(s.id100 and s.id100 and s.id in (select 1 as id from dual ) /*这内里写子查询都可以*/).SelectToPageListSCHOOL(st.*, JoinType.INNER).Join(student。
SCHOOL((s1, student);//改变值(lassTemplate.ItemTemplate=XXXX)可以自界说名目var tempItem=ClassTemplate.ItemTemplate;var temp=ClassTemplate.Template ; T4模版 具体教程: 别名表/Rename table name //-----单个-------//var list = db.QueryableV_Student(Student).ToList();//查询的是 select * from student 而我的实体名称为V_Student//-----全局多个配置-------////配置 Mapping Table 假如没这方面需求可以传NULLListKeyValue mappingTableList = new ListKeyValue(){new KeyValue(){ Key=FormAttr,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/12944.shtml
相关文章
热门TAG
服务器 Go语言 技巧 详解 调用 标签 功能 织梦 javascript dedecms修改内容 织梦教程 php 白帽 企业网站 外链 权重 MYSQL 网站流量 实例解析 JSP 网站收录 搜索引擎 蜘蛛 windows jquery jquery教程 python tags标签 HTML 织梦cms最新文章
-
在tools-preferences-connection(
时间:2021-01-20
-
Windows Sever 2012下Oracle 12c安
时间:2021-01-10
-
Oracle安装监听器错误的解
时间:2021-01-07
-
oracle远程连接服务器数据
时间:2021-01-07
-
OSGforAndroid新手教程系列(
时间:2021-01-06
-
StickHeaderItemDecoration Recyc
时间:2021-01-06
-
Oracle11g安装与卸载图解
时间:2021-01-06
-
Oracle中的字符串类型及相
时间:2021-01-06
热门文章
-
Oracle存储过程编程详解
时间:2020-12-07
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
Oracle 12c Study之Installer Oracle
时间:2021-01-06
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
