mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-17 19:43:21 +08:00
- 修复 SqlExt Over 参数类型转换问题;#1321
This commit is contained in:
parent
6d2b87449d
commit
95e8ec7c83
@ -439,6 +439,16 @@ namespace base_entity
|
|||||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
var tttsqlext01 = fsql.Select<User1>().ToSql(a => new
|
||||||
|
{
|
||||||
|
cou = SqlExt.Count(1).Over().PartitionBy(a.Id).ToValue(),
|
||||||
|
avg = SqlExt.Avg(1).Over().PartitionBy(a.Id).ToValue()
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//fsql.CodeFirst.SyncStructure<SqliteAAA>();
|
//fsql.CodeFirst.SyncStructure<SqliteAAA>();
|
||||||
|
|
||||||
fsql.CodeFirst.Entity<JoinTest01>(a => a.Property(p => p.code).IsRequired());
|
fsql.CodeFirst.Entity<JoinTest01>(a => a.Property(p => p.code).IsRequired());
|
||||||
|
@ -800,14 +800,5 @@
|
|||||||
<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>
|
||||||
|
@ -1019,6 +1019,9 @@ namespace FreeSql.Internal
|
|||||||
}
|
}
|
||||||
else if (exp3.Arguments[a].IsParameter())
|
else if (exp3.Arguments[a].IsParameter())
|
||||||
exp3InvokeParams[a] = exp3.Arguments[a].Type.CreateInstanceGetDefaultValue();
|
exp3InvokeParams[a] = exp3.Arguments[a].Type.CreateInstanceGetDefaultValue();
|
||||||
|
|
||||||
|
else if (Utils.dicExecuteArrayRowReadClassOrTuple.ContainsKey(exp3.Arguments[a].Type.NullableTypeOrThis()) == false)
|
||||||
|
exp3InvokeParams[a] = exp3.Arguments[a].Type.CreateInstanceGetDefaultValue();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var exp3CsValue = eccContent.StartsWith("N'") ?
|
var exp3CsValue = eccContent.StartsWith("N'") ?
|
||||||
@ -1045,8 +1048,8 @@ namespace FreeSql.Internal
|
|||||||
typeof(ThreadLocal<ExpressionCallContext>).GetProperty("Value").SetValue(eccField.GetValue(null), ecc, null);
|
typeof(ThreadLocal<ExpressionCallContext>).GetProperty("Value").SetValue(eccField.GetValue(null), ecc, null);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sqlRet = exp3.Method.Invoke(null, exp3InvokeParams);
|
var invokeReturn = exp3.Method.Invoke(null, exp3InvokeParams);
|
||||||
if (string.IsNullOrEmpty(ecc.Result) && sqlRet is string) ecc.Result = string.Concat(sqlRet);
|
if (string.IsNullOrEmpty(ecc.Result) && invokeReturn is string) ecc.Result = string.Concat(invokeReturn);
|
||||||
if (string.IsNullOrEmpty(ecc.Result) && exp3MethodParams.Any()) ecc.Result = ecc.ParsedContent[exp3MethodParams[0].Name];
|
if (string.IsNullOrEmpty(ecc.Result) && exp3MethodParams.Any()) ecc.Result = ecc.ParsedContent[exp3MethodParams[0].Name];
|
||||||
if (ecc.UserParameters?.Any() == true) tsc.dbParams?.AddRange(ecc.UserParameters);
|
if (ecc.UserParameters?.Any() == true) tsc.dbParams?.AddRange(ecc.UserParameters);
|
||||||
return ecc.Result;
|
return ecc.Result;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user