mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
code optimization and demo
This commit is contained in:
parent
b17ed51b60
commit
e92a4be798
@ -38,7 +38,7 @@ namespace OrmTest
|
||||
{
|
||||
var list = new List<int>() { 1, 2, 3 };
|
||||
var query1 = db.Queryable<Order>();
|
||||
var queryable2 = db.Reportable(list).ToSingleColumnQueryable();
|
||||
var queryable2 = db.Reportable(list).ToQueryable<int>();
|
||||
var x = db.Queryable(queryable2, query1, (x2, x1) => x1.Id.Equals(x2.ColumnName))
|
||||
.Select((x2, x1) => new { x = x1.Id, x2 = x2.ColumnName }).ToList();
|
||||
}
|
||||
@ -86,16 +86,16 @@ namespace OrmTest
|
||||
}).ExecuteCommand();
|
||||
|
||||
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToSingleColumnQueryable();
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>();
|
||||
var queryableRight = db.Queryable<operateinfo>();
|
||||
var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left,
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM"))
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==x1.ColumnName.ToString("yyyy-MM"))
|
||||
.GroupBy((x1,x2)=>x1.ColumnName)
|
||||
.Where(x1=>SqlFunc.Between(x1.ColumnName,"2021-01-01",DateTime.Now))
|
||||
.Select((x1, x2) => new
|
||||
{
|
||||
count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) ,
|
||||
date=SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM")
|
||||
date=x1.ColumnName.ToString("yyyy-MM")
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ namespace OrmTest
|
||||
{
|
||||
var list = new List<int>() { 1, 2, 3 };
|
||||
var query1 = db.Queryable<Order>();
|
||||
var queryable2 = db.Reportable(list).ToSingleColumnQueryable();
|
||||
var queryable2 = db.Reportable(list).ToQueryable<int>();
|
||||
var x = db.Queryable(queryable2, query1, (x2, x1) => x1.Id.Equals(x2.ColumnName))
|
||||
.Select((x2, x1) => new { x = x1.Id, x2 = x2.ColumnName }).ToList();
|
||||
}
|
||||
@ -86,16 +86,16 @@ namespace OrmTest
|
||||
}).ExecuteCommand();
|
||||
|
||||
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToSingleColumnQueryable();
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>();
|
||||
var queryableRight = db.Queryable<operateinfo>();
|
||||
var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left,
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM"))
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")== x1.ColumnName .ToString("yyyy-MM"))
|
||||
.GroupBy((x1,x2)=>x1.ColumnName)
|
||||
.Where(x1=>SqlFunc.Between(SqlFunc.ToDate(x1.ColumnName),DateTime.Now.AddYears(-1),DateTime.Now))
|
||||
.Where(x1=>SqlFunc.Between(x1.ColumnName,DateTime.Now.AddYears(-1),DateTime.Now))
|
||||
.Select((x1, x2) => new
|
||||
{
|
||||
count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) ,
|
||||
date=SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM")
|
||||
date= x1.ColumnName.ToString("yyyy-MM")
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ namespace OrmTest
|
||||
{
|
||||
var list = new List<int>() { 1, 2, 3 };
|
||||
var query1 = db.Queryable<Order>();
|
||||
var queryable2 = db.Reportable(list).ToSingleColumnQueryable();
|
||||
var queryable2 = db.Reportable(list).ToQueryable<int>();
|
||||
var x = db.Queryable(queryable2, query1, (x2, x1) => x1.Id.Equals(x2.ColumnName))
|
||||
.Select((x2, x1) => new { x = x1.Id, x2 = x2.ColumnName }).ToList();
|
||||
}
|
||||
@ -86,17 +86,16 @@ namespace OrmTest
|
||||
}).ExecuteCommand();
|
||||
|
||||
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToSingleColumnQueryable();
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>();
|
||||
var queryableRight = db.Queryable<operateinfo>();
|
||||
var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left,
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM"))
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==x1.ColumnName.ToString("yyyy-MM"))
|
||||
.GroupBy((x1,x2)=>x1.ColumnName)
|
||||
.Where(x1=>SqlFunc.Between(x1.ColumnName,"2021-01-01",DateTime.Now))
|
||||
.Select((x1, x2) => new
|
||||
{
|
||||
count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) ,
|
||||
date=SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM")
|
||||
|
||||
date=x1.ColumnName.ToString("yyyy-MM")
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ namespace OrmTest
|
||||
{
|
||||
var list = new List<int>() { 1, 2, 3 };
|
||||
var query1 = db.Queryable<Order>();
|
||||
var queryable2 = db.Reportable(list).ToSingleColumnQueryable();
|
||||
var queryable2 = db.Reportable(list).ToQueryable<int>();
|
||||
var x = db.Queryable(query1, queryable2, (x1, x2) => x1.Id.Equals(x2.ColumnName))
|
||||
.Select((x1, x2) => new { x = x1.Id, x2 = x2.ColumnName }).ToList();
|
||||
}
|
||||
@ -86,16 +86,16 @@ namespace OrmTest
|
||||
}).ExecuteCommand();
|
||||
|
||||
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToSingleColumnQueryable();
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>();
|
||||
var queryableRight = db.Queryable<operateinfo>();
|
||||
var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left,
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM"))
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")== x1.ColumnName .ToString("yyyy-MM"))
|
||||
.GroupBy((x1,x2)=>x1.ColumnName)
|
||||
.Where(x1=>SqlFunc.Between(x1.ColumnName,"2021-01-01",DateTime.Now))
|
||||
.Select((x1, x2) => new
|
||||
{
|
||||
count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) ,
|
||||
date=SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM")
|
||||
date=x1.ColumnName.ToString("yyyy-MM")
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
|
@ -29,10 +29,10 @@ namespace SqlSugar
|
||||
Init();
|
||||
}
|
||||
|
||||
public IReportable<T> MakeUp(Func<T, object> auto)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
//public IReportable<T> MakeUp(Func<T, object> auto)
|
||||
//{
|
||||
// throw new NotImplementedException();
|
||||
//}
|
||||
|
||||
public ISugarQueryable<T> ToQueryable()
|
||||
{
|
||||
@ -67,6 +67,10 @@ namespace SqlSugar
|
||||
}
|
||||
return this.Context.SqlQueryable<object>(sb.ToString()).Select<T>();
|
||||
}
|
||||
public ISugarQueryable<SingleColumnEntity<Y>> ToQueryable<Y>()
|
||||
{
|
||||
return ToQueryable().Select<SingleColumnEntity<Y>>();
|
||||
}
|
||||
|
||||
private void Each<Y>(StringBuilder sb, List<Y> list)
|
||||
{
|
||||
@ -85,11 +89,6 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
public ISugarQueryable<SingleColumnEntity> ToSingleColumnQueryable()
|
||||
{
|
||||
return ToQueryable().Select<SingleColumnEntity>();
|
||||
}
|
||||
|
||||
private void ClassMethod<Y>(Y data, StringBuilder sb,bool isLast)
|
||||
{
|
||||
var columns = new StringBuilder();
|
||||
|
@ -6,8 +6,8 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class SingleColumnEntity
|
||||
public class SingleColumnEntity<T>
|
||||
{
|
||||
public object ColumnName { get; set; }
|
||||
public T ColumnName { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -8,8 +8,8 @@ namespace SqlSugar
|
||||
{
|
||||
public interface IReportable<T>
|
||||
{
|
||||
IReportable<T> MakeUp(Func<T,object> auto);
|
||||
//IReportable<T> MakeUp(Func<T,object> auto);
|
||||
ISugarQueryable<T> ToQueryable();
|
||||
ISugarQueryable<SingleColumnEntity> ToSingleColumnQueryable();
|
||||
ISugarQueryable<SingleColumnEntity<Y>> ToQueryable<Y>();
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ namespace OrmTest
|
||||
{
|
||||
var list = new List<int>() { 1, 2, 3 };
|
||||
var query1 = db.Queryable<Order>();
|
||||
var queryable2 = db.Reportable(list).ToSingleColumnQueryable();
|
||||
var queryable2 = db.Reportable(list).ToQueryable<int>();
|
||||
var x = db.Queryable(queryable2, query1, (x2, x1) => x1.Id.Equals(x2.ColumnName))
|
||||
.Select((x2, x1) => new { x = x1.Id, x2 = x2.ColumnName }).ToList();
|
||||
}
|
||||
@ -86,16 +86,16 @@ namespace OrmTest
|
||||
}).ExecuteCommand();
|
||||
|
||||
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToSingleColumnQueryable();
|
||||
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>();
|
||||
var queryableRight = db.Queryable<operateinfo>();
|
||||
var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left,
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM"))
|
||||
(x1, x2) => x2.operate_time.ToString("yyyy-MM")==x1.ColumnName.ToString("yyyy-MM"))
|
||||
.GroupBy((x1,x2)=>x1.ColumnName)
|
||||
.Where(x1=>SqlFunc.Between(x1.ColumnName,"2021-01-01",DateTime.Now))
|
||||
.Select((x1, x2) => new
|
||||
{
|
||||
count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) ,
|
||||
date=SqlFunc.ToDate(x1.ColumnName).ToString("yyyy-MM")
|
||||
date=x1.ColumnName.ToString("yyyy-MM")
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user