mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
-
This commit is contained in:
parent
ce4b68567b
commit
4d8cb6f649
@ -19,9 +19,21 @@ namespace OrmTest.UnitTest
|
||||
public void Init() {
|
||||
|
||||
var db = GetInstance();
|
||||
db.IgnoreColumns.Add("1", "1");
|
||||
var s1= db.Queryable<Student>().Where(it=>it.Id==1).ToSql();
|
||||
var t1= db.Queryable<Student>().Where(it=>it.Id==1).ToSql();
|
||||
base.Check("SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent] WHERE ( [ID] = @Id0 ) ", null, t1.Key, null,"Mapping t1 error");
|
||||
|
||||
db.MappingColumns.Add("Id", "id", "School");
|
||||
var t2 = db.Queryable<Student, School>((st, sc) => new object[] {
|
||||
JoinType.Left,st.SchoolId==sc.Id
|
||||
})
|
||||
.Where(st => st.Id == 1)
|
||||
.Where<School>(sc => sc.Id == 1)
|
||||
.Where<School, Student>((sc, st) => sc.Id == st.Id)
|
||||
.GroupBy(st => st.Id)
|
||||
.GroupBy<School>(sc => sc.Id).OrderBy<Student>(st => st.Id,OrderByType.Asc)
|
||||
.Select<Student,School,dynamic>((st,sc)=> new { stid=st.Id,scid=sc.Id}).ToSql();
|
||||
base.Check(@"SELECT [st].[ID] AS [stid] , [sc].[id] AS [scid] FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] =[sc].[id]) WHERE ( [st].[ID] = @Id0 ) AND ( [sc].[id] = @Id1 ) AND ( [sc].[id] = [st].[ID] )GROUP BY [st].[ID],[sc].[id]ORDER BY [st].[ID] ASC ",
|
||||
null, t2.Key, null, " Mapping t2 error");
|
||||
var x2 = GetInstance();
|
||||
}
|
||||
|
||||
|
@ -289,7 +289,7 @@ namespace SqlSugar
|
||||
{
|
||||
pre = Builder.GetTranslationColumnName(TableShortName) + ".";
|
||||
}
|
||||
reval = string.Join(",", this.Context.EntityProvider.GetEntityInfo(this.EntityType).Columns.Where(it=>!it.IsIgnore).Select(it => pre + Builder.GetTranslationColumnName(it.PropertyName)));
|
||||
reval = string.Join(",", this.Context.EntityProvider.GetEntityInfo(this.EntityType).Columns.Where(it=>!it.IsIgnore).Select(it => pre + Builder.GetTranslationColumnName(it.EnitytName,it.PropertyName)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -20,11 +20,13 @@ namespace SqlSugar
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.SqlBuilder.QueryBuilder;
|
||||
return this.SqlBuilder.QueryBuilder;
|
||||
}
|
||||
}
|
||||
public EntityInfo EntityInfo {
|
||||
get {
|
||||
public EntityInfo EntityInfo
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.Context.EntityProvider.GetEntityInfo<T>();
|
||||
}
|
||||
}
|
||||
@ -110,7 +112,8 @@ namespace SqlSugar
|
||||
return this;
|
||||
}
|
||||
|
||||
public ISugarQueryable<T> Having(Expression<Func<T, bool>> expression) {
|
||||
public ISugarQueryable<T> Having(Expression<Func<T, bool>> expression)
|
||||
{
|
||||
this._Having(expression);
|
||||
return this;
|
||||
}
|
||||
@ -204,7 +207,7 @@ namespace SqlSugar
|
||||
Where("1=2 ");
|
||||
return this;
|
||||
}
|
||||
var pks = GetPrimaryKeys().Select(it=> SqlBuilder.GetTranslationTableName(it)).ToList();
|
||||
var pks = GetPrimaryKeys().Select(it => SqlBuilder.GetTranslationTableName(it)).ToList();
|
||||
Check.Exception(pks == null || pks.Count != 1, "Queryable.In(params object[] pkValues): Only one primary key");
|
||||
string filed = pks.FirstOrDefault();
|
||||
string shortName = QueryBuilder.TableShortName == null ? null : (QueryBuilder.TableShortName + ".");
|
||||
@ -285,10 +288,15 @@ namespace SqlSugar
|
||||
return this;
|
||||
}
|
||||
|
||||
public ISugarQueryable<T> OrderBy<T2>(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc)
|
||||
public ISugarQueryable<T2> OrderBy<T2>(Expression<Func<T2, object>> expression, OrderByType type = OrderByType.Asc)
|
||||
{
|
||||
this._OrderBy(expression, type);
|
||||
return this;
|
||||
var reval = InstanceFactory.GetQueryable<T2>(this.Context.CurrentConnectionConfig);
|
||||
reval.Context = this.Context;
|
||||
reval.SqlBuilder = this.SqlBuilder;
|
||||
reval.SqlBuilder.QueryBuilder.Parameters = QueryBuilder.Parameters;
|
||||
reval.SqlBuilder.QueryBuilder.SelectValue = expression;
|
||||
return reval;
|
||||
}
|
||||
|
||||
public ISugarQueryable<T> GroupBy(Expression<Func<T, object>> expression)
|
||||
@ -296,7 +304,16 @@ namespace SqlSugar
|
||||
_GroupBy(expression);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ISugarQueryable<T2> GroupBy<T2>(Expression<Func<T2, object>> expression)
|
||||
{
|
||||
_GroupBy(expression);
|
||||
var reval = InstanceFactory.GetQueryable<T2>(this.Context.CurrentConnectionConfig);
|
||||
reval.Context = this.Context;
|
||||
reval.SqlBuilder = this.SqlBuilder;
|
||||
reval.SqlBuilder.QueryBuilder.Parameters = QueryBuilder.Parameters;
|
||||
reval.SqlBuilder.QueryBuilder.SelectValue = expression;
|
||||
return reval;
|
||||
}
|
||||
public ISugarQueryable<T> GroupBy(string groupFileds)
|
||||
{
|
||||
var croupByValue = QueryBuilder.GroupByValue;
|
||||
@ -607,7 +624,7 @@ namespace SqlSugar
|
||||
var tType = typeof(TResult);
|
||||
if (tType.IsAnonymousType() || isComplexModel)
|
||||
{
|
||||
result= this.Context.RewritableMethods.DataReaderToDynamicList<TResult>(dataReader);
|
||||
result = this.Context.RewritableMethods.DataReaderToDynamicList<TResult>(dataReader);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -27,7 +27,7 @@ namespace SqlSugar
|
||||
{
|
||||
public void Add(string propertyName, string EntityName)
|
||||
{
|
||||
this.RemoveAll(it => it.EntityPropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
this.RemoveAll(it =>it.EntityName==EntityName&&it.EntityPropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
this.Add(new IgnoreComumn() { EntityPropertyName = propertyName, EntityName = EntityName });
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ namespace SqlSugar
|
||||
{
|
||||
public void Add(string propertyName, string dbColumnName, string entityName)
|
||||
{
|
||||
this.RemoveAll(it => it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
this.RemoveAll(it =>it.EntityName==entityName &&it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
this.Add(new MappingColumn() { PropertyName = propertyName, DbColumnName = dbColumnName, EntityName = entityName });
|
||||
}
|
||||
public new void Clear()
|
||||
|
@ -48,9 +48,10 @@ namespace SqlSugar
|
||||
|
||||
ISugarQueryable<T> OrderBy(string orderFileds);
|
||||
ISugarQueryable<T> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc);
|
||||
ISugarQueryable<T> OrderBy<T2>(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc);
|
||||
ISugarQueryable<T2> OrderBy<T2>(Expression<Func<T2, object>> expression, OrderByType type = OrderByType.Asc);
|
||||
|
||||
ISugarQueryable<T> GroupBy(Expression<Func<T, object>> expression);
|
||||
ISugarQueryable<T2> GroupBy<T2>(Expression<Func<T2, object>> expression);
|
||||
ISugarQueryable<T> GroupBy(string groupFileds);
|
||||
|
||||
ISugarQueryable<T> Skip(int index);
|
||||
|
Loading…
Reference in New Issue
Block a user