mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 优化 Select<object>().AsType(..) Dto 映射查询;
This commit is contained in:
parent
d99e72abd6
commit
cc5feb58d1
@ -332,6 +332,19 @@ namespace base_entity
|
|||||||
[Column(StringLength = -1, IsNullable = false)]
|
[Column(StringLength = -1, IsNullable = false)]
|
||||||
public string code2 { get; set; }
|
public string code2 { get; set; }
|
||||||
}
|
}
|
||||||
|
public class CCC
|
||||||
|
{
|
||||||
|
public int bb { get; set; }
|
||||||
|
public int aa { get; set; }
|
||||||
|
}
|
||||||
|
public class BBB
|
||||||
|
{
|
||||||
|
public int bb { get; set; }
|
||||||
|
}
|
||||||
|
public class AAA
|
||||||
|
{
|
||||||
|
public int aa { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
@ -389,6 +402,9 @@ namespace base_entity
|
|||||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
var sqlskdfj = fsql.Select<object>().AsType(typeof(BBB)).ToSql(a => new CCC());
|
||||||
|
|
||||||
|
|
||||||
var dbpars = new List<DbParameter>();
|
var dbpars = new List<DbParameter>();
|
||||||
|
|
||||||
var a1id1 = Guid.NewGuid();
|
var a1id1 = Guid.NewGuid();
|
||||||
|
@ -800,5 +800,14 @@
|
|||||||
<param name="that"></param>
|
<param name="that"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
|
||||||
|
<summary>
|
||||||
|
批量注入 Repository,可以参考代码自行调整
|
||||||
|
</summary>
|
||||||
|
<param name="services"></param>
|
||||||
|
<param name="globalDataFilter"></param>
|
||||||
|
<param name="assemblies"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
@ -356,7 +356,9 @@ namespace FreeSql.Internal
|
|||||||
};
|
};
|
||||||
parent.Childs.Add(child);
|
parent.Childs.Add(child);
|
||||||
if (dtTb.Parameter != null)
|
if (dtTb.Parameter != null)
|
||||||
ReadAnonymousField(_tables, _tableRule, field, child, ref index, Expression.Property(dtTb.Parameter, dtTb.Table.Properties[trydtocol.CsName]), select, diymemexp, whereGlobalFilter, findIncludeMany, findSubSelectMany, isAllDtoMap);
|
ReadAnonymousField(_tables, _tableRule, field, child, ref index, Expression.Property(
|
||||||
|
dtTb.Parameter.Type == dtTb.Table.Type ? (Expression)dtTb.Parameter : Expression.TypeAs(dtTb.Parameter, dtTb.Table.Type),
|
||||||
|
dtTb.Table.Properties[trydtocol.CsName]), select, diymemexp, whereGlobalFilter, findIncludeMany, findSubSelectMany, isAllDtoMap);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
child.DbField = $"{dtTb.Alias}.{_common.QuoteSqlName(trydtocol.Attribute.Name)}";
|
child.DbField = $"{dtTb.Alias}.{_common.QuoteSqlName(trydtocol.Attribute.Name)}";
|
||||||
@ -475,7 +477,9 @@ namespace FreeSql.Internal
|
|||||||
};
|
};
|
||||||
parent.Childs.Add(child);
|
parent.Childs.Add(child);
|
||||||
if (dtTb.Parameter != null)
|
if (dtTb.Parameter != null)
|
||||||
ReadAnonymousField(_tables, _tableRule, field, child, ref index, Expression.Property(dtTb.Parameter, dtTb.Table.Properties[trydtocol.CsName]), select, diymemexp, whereGlobalFilter, findIncludeMany, findSubSelectMany, isAllDtoMap);
|
ReadAnonymousField(_tables, _tableRule, field, child, ref index, Expression.Property(
|
||||||
|
dtTb.Parameter.Type == dtTb.Table.Type ? (Expression)dtTb.Parameter : Expression.TypeAs(dtTb.Parameter, dtTb.Table.Type),
|
||||||
|
dtTb.Table.Properties[trydtocol.CsName]), select, diymemexp, whereGlobalFilter, findIncludeMany, findSubSelectMany, isAllDtoMap);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
child.DbField = _common.RereadColumn(trydtocol, $"{dtTb.Alias}.{_common.QuoteSqlName(trydtocol.Attribute.Name)}");
|
child.DbField = _common.RereadColumn(trydtocol, $"{dtTb.Alias}.{_common.QuoteSqlName(trydtocol.Attribute.Name)}");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user