Skip to content

Commit 8a8b730

Browse files
committed
Merge branch 'master' of https://github.com/dotnetcore/FreeSql
2 parents 1388dfd + caaf979 commit 8a8b730

File tree

43 files changed

+188
-167
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+188
-167
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<!--
1313
经常出于版本交叉问题,暂时关闭,在每个项目上设置版本号
1414
<PropertyGroup>
15-
<Version>3.5.213</Version>
15+
<Version>3.5.215-preview20250917</Version>
1616
</PropertyGroup>
1717
-->
1818

Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
21-
<Version>3.5.213</Version>
21+
<Version>3.5.215-preview20250917</Version>
2222
<PackageReadmeFile>readme.md</PackageReadmeFile>
2323
</PropertyGroup>
2424

Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
2121
<LangVersion>latest</LangVersion>
22-
<Version>3.5.213</Version>
22+
<Version>3.5.215-preview20250917</Version>
2323
<PackageReadmeFile>readme.md</PackageReadmeFile>
2424
</PropertyGroup>
2525

Extensions/FreeSql.Extensions.EFModel/FreeSql.Extensions.EFModel.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
21-
<Version>3.5.213</Version>
21+
<Version>3.5.215-preview20250917</Version>
2222
<PackageReadmeFile>readme.md</PackageReadmeFile>
2323
</PropertyGroup>
2424

Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
21-
<Version>3.5.213</Version>
21+
<Version>3.5.215-preview20250917</Version>
2222
<PackageReadmeFile>readme.md</PackageReadmeFile>
2323
</PropertyGroup>
2424

Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<Title>$(AssemblyName)</Title>
1616
<IsPackable>true</IsPackable>
1717
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
18-
<Version>3.5.213</Version>
18+
<Version>3.5.215-preview20250917</Version>
1919
<PackageReadmeFile>readme.md</PackageReadmeFile>
2020
</PropertyGroup>
2121

Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
21-
<Version>3.5.213</Version>
21+
<Version>3.5.215-preview20250917</Version>
2222
<PackageReadmeFile>readme.md</PackageReadmeFile>
2323
</PropertyGroup>
2424

Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
2020
<DelaySign>false</DelaySign>
21-
<Version>3.5.213</Version>
21+
<Version>3.5.215-preview20250917</Version>
2222
<PackageReadmeFile>readme.md</PackageReadmeFile>
2323
</PropertyGroup>
2424

Extensions/FreeSql.Extensions.ZeroEntity/ZeroDbContext.SelectImpl.cs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,9 @@ NativeTuple<string, ColumnInfo, string> ParseField(ZeroTableInfo firstTable, str
538538
{
539539
if (string.IsNullOrEmpty(property)) return null;
540540
var field = property.Split('.').Select(a => a.Trim()).ToArray();
541-
542-
if (field.Length == 1)
541+
var fieldCopy = field.ToArray();
542+
if (fieldCopy.Length == 3) field = new[] { string.Join(".", field.Take(field.Length - 1)), field[2] };
543+
if (field.Length == 1)
543544
{
544545
if (firstTable != null && firstTable.ColumnsByCs.TryGetValue(field[0], out var col2) == true)
545546
return NativeTuple.Create($"{firstTableAlias}.{_common.QuoteSqlName(col2.Attribute.Name)}", col2, firstTableAlias);
@@ -566,8 +567,9 @@ NativeTuple<string, ColumnInfo, string> ParseField(ZeroTableInfo firstTable, str
566567
}
567568
if (_tableAlias.Where(a => a.Alias == field[0]).FirstOrDefault()?.Table.ColumnsByCs.TryGetValue(field[1], out col2) == true)
568569
return NativeTuple.Create($"{field[0]}.{_common.QuoteSqlName(col2.Attribute.Name)}", col2, field[0]);
570+
if (fieldCopy.Length == 3) field = fieldCopy.ToArray();
569571
}
570-
572+
571573
var navPath = string.Join(".", field.Skip(1).Take(field.Length - 1));
572574
var ta = _tableAlias.Where(a => string.Join(".", a.NavPath) == navPath).FirstOrDefault();
573575
if (ta?.Table.ColumnsByCs.TryGetValue(field.Last(), out var col) == true)
@@ -717,7 +719,7 @@ public SelectImpl WhereDynamicFilter(DynamicFilterInfo filter)
717719
string ParseDynamicFilter(DynamicFilterInfo filter)
718720
{
719721
var replacedFilter = new DynamicFilterInfo();
720-
var replacedMap = new List<NativeTuple<string, string, string>>();
722+
var replacedMap = new List<NativeTuple<string, string, string, DynamicFilterInfo>>();
721723
LocalCloneFilter(filter, replacedFilter);
722724
var oldWhere = _selectProvider._where.ToString();
723725
var newWhere = "";
@@ -734,14 +736,13 @@ string ParseDynamicFilter(DynamicFilterInfo filter)
734736
foreach (var rm in replacedMap)
735737
{
736738
var find = $"{_selectProvider._tables[0].Alias}.{_common.QuoteSqlName(rm.Item1)}";
737-
while (true)
739+
var forend = rm.Item4.Operator == DynamicFilterOperator.DateRange ||
740+
rm.Item4.Operator == DynamicFilterOperator.Range ? 2 : 1;
741+
for (var forstart = 0; forstart < forend; forstart++)
738742
{
739-
var idx = newWhere.IndexOf(find);
740-
if (idx != -1 && !Regex.IsMatch(newWhere.Substring(idx - 1, 1), @"[\w_]"))
741-
newWhere = $"{newWhere.Substring(0, idx)}{rm.Item2}{newWhere.Substring(idx + find.Length)}";
742-
else
743-
break;
744-
}
743+
var idx = newWhere.IndexOf(find);
744+
if (idx != -1 && !Regex.IsMatch(newWhere.Substring(idx - 1, 1), @"[\w_]")) newWhere = $"{newWhere.Substring(0, idx)}{rm.Item2}{newWhere.Substring(idx + find.Length)}";
745+
}
745746
}
746747
return newWhere;
747748

@@ -760,7 +761,7 @@ void LocalCloneFilter(DynamicFilterInfo source, DynamicFilterInfo target)
760761
target.Field = pname;
761762
else
762763
target.Field = TestDynamicFilterInfo._dictTypeToPropertyname[typeof(string)];
763-
replacedMap.Add(NativeTuple.Create(target.Field, parseResult.Item1, parseResult.Item3));
764+
replacedMap.Add(NativeTuple.Create(target.Field, parseResult.Item1, parseResult.Item3, source));
764765
}
765766
}
766767
if (source.Filters?.Any() == true)

Extensions/FreeSql.Generator/FreeSql.Generator.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<PackageProjectUrl>https://github.com/2881099/FreeSql</PackageProjectUrl>
1414
<RepositoryUrl>https://github.com/2881099/FreeSql</RepositoryUrl>
1515
<PackageTags>FreeSql DbFirst 实体生成器</PackageTags>
16-
<Version>3.5.213</Version>
16+
<Version>3.5.215-preview20250917</Version>
1717
<PackageReadmeFile>readme.md</PackageReadmeFile>
1818
</PropertyGroup>
1919

0 commit comments

Comments
 (0)