diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj index 96f5e946..9e16a3d0 100644 --- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj +++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj @@ -9,6 +9,8 @@ FreeSql.Tests.xml 3 + false + x86 diff --git a/FreeSql.Tests/FreeSql.Tests/Linq/QueryableRestoreToSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/Linq/QueryableRestoreToSelectTest.cs index 6bc941f9..3af1e098 100644 --- a/FreeSql.Tests/FreeSql.Tests/Linq/QueryableRestoreToSelectTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Linq/QueryableRestoreToSelectTest.cs @@ -42,6 +42,7 @@ namespace FreeSql.Tests.Linq [Fact] public void RestoreToSelect() { + fsql.Insert(new qt01[] { new qt01 { name = "001" }, new qt01 { name = "001" } }).ExecuteAffrows(); Assert.Equal(fsql.Select().Skip(2).First(a => a.name), fsql.Select().AsQueryable().Skip(2).Take(1).RestoreToSelect().First(a => a.name)); Assert.Equal(fsql.Select().Skip(2).First(a => new { a.name }).name, fsql.Select().AsQueryable().Skip(2).Take(1).RestoreToSelect().First(a => new { a.name }).name); } diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs index 92bc2bc5..dc57b536 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs @@ -637,7 +637,7 @@ namespace FreeSql.Internal.CommonProvider if (tr2ref == null) continue; if (tr2ref.RefType != TableRefType.ManyToOne) continue; if (tr2ref.RefEntityType != tb.Type) continue; - if (string.Join(",", tr2ref.Columns.Select(a => a.CsName).OrderBy(a => a)) != string.Join(",", tbref.RefColumns.Select(a => a.CsName).OrderBy(a => a))) continue; //防止把 ManyToOne 多个相同类型的导航属性值都填充了 + if (string.Join(",", tr2ref.Columns.Select(a => a.CsName).OrderBy(a => a)) != string.Join(",", tbref.RefColumns.Select(a => a.CsName).OrderBy(a => a))) continue; //- 修复 IncludeMany 只填充子属性中双向关系的 ManyToOne 对象值;防止把 ManyToOne 多个相同类型的导航属性值都填充了 parentNavs.Add(navProp.Key); } foreach (var nav in subList)