Skip to content

Commit 0f8bba1

Browse files
authored
Make code .NET10-compatible (#359)
* Make code .NET10-compatible * Rename to LeftOuterJoin()
1 parent 448ea16 commit 0f8bba1

5 files changed

+16
-12
lines changed

Directory.Packages.props

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<Project>
22
<PropertyGroup>
3-
<MSExtVersion Condition="'$(TargetFramework)' == 'net9.0'">9.0.0</MSExtVersion>
4-
<MSExtVersion Condition="'$(TargetFramework)' == 'net10.0'">10.0.0</MSExtVersion>
3+
<MSExtVersion Condition="'$(TargetFramework)' == 'net9.0'">9.0.2</MSExtVersion>
4+
<MSExtVersion Condition="'$(TargetFramework)' == 'net10.0'">9.0.2</MSExtVersion>
55
<MSExtVersion2>$(MSExtVersion)</MSExtVersion2>
6-
<MSExtVersion2 Condition="'$(TargetFramework)' == 'net10.0'">10.0.0</MSExtVersion2>
6+
<MSExtVersion2 Condition="'$(TargetFramework)' == 'net10.0'">9.0.2</MSExtVersion2>
77
</PropertyGroup>
88
<ItemGroup Label="Nupkg Versions">
99
<PackageVersion Include="System.CodeDom" Version="$(MSExtVersion)"/>

Orm/Xtensive.Orm.Tests/Issues/IssueJira0187_TypeCastInContain.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ protected override DomainConfiguration BuildConfiguration()
5555
[Test]
5656
public void ParentsContainsChildWithImplicitCastTest()
5757
{
58-
var parents = GlobalSession.Query.All<Parent>().ToArray();
58+
IReadOnlyList<Parent> parents = GlobalSession.Query.All<Parent>().ToArray();
5959
var result = GlobalSession.Query.All<Child>().Where(child => parents.Contains(child)).ToArray();
6060
}
6161

6262
[Test]
6363
public void ParentsContainsChildWithExplicitCastTest()
6464
{
65-
var parents = GlobalSession.Query.All<Parent>().ToArray();
65+
IReadOnlyList<Parent> parents = GlobalSession.Query.All<Parent>().ToArray();
6666
var result = GlobalSession.Query.All<Child>().Where(child => parents.Contains(child as Parent)).ToArray();
6767
}
6868

@@ -76,7 +76,7 @@ public void ChildInParentsTest()
7676
[Test]
7777
public void ChildContainsParentWithImplicitCast()
7878
{
79-
var children = GlobalSession.Query.All<Child>().ToArray();
79+
IReadOnlyList<Child> children = GlobalSession.Query.All<Child>().ToArray();
8080
var result = GlobalSession.Query.All<Child>().Where(a => children.Contains(a.Parent)).ToArray();
8181
}
8282

@@ -94,4 +94,4 @@ public void ParentInChildrenTest()
9494
var result = GlobalSession.Query.All<Child>().Where(a => a.Parent.In(children)).ToArray();
9595
}
9696
}
97-
}
97+
}

Orm/Xtensive.Orm.Tests/Issues/IssueJira0743_IncludeDoesNotWorkWithSubqueries.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ public void Case21Test()
339339
{
340340
using (var session = Domain.OpenSession())
341341
using (var tx = session.OpenTransaction()) {
342-
var values = new[] { MyEnum.Bar, MyEnum.Foo };
342+
IReadOnlyList<MyEnum> values = [MyEnum.Bar, MyEnum.Foo];
343343
var result = session.Query.All<TestEntity>()
344344
.Select(e => values.Contains(e.List.FirstOrDefault().Link.Value3.Value)).ToArray();
345345

Orm/Xtensive.Orm.Tests/Linq/NullableEnumMaterializationTest.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void SelectContainsTest()
6767
{
6868
using (var session = Domain.OpenSession())
6969
using (var tx = session.OpenTransaction()) {
70-
var values = new[] {MyEnum.Bar, MyEnum.Foo};
70+
IReadOnlyList<MyEnum> values = [MyEnum.Bar, MyEnum.Foo];
7171
var query = session.Query.All<EntityWithNullableEnum>()
7272
.Select(e => new {
7373
Id = e.Id,
@@ -101,7 +101,7 @@ public void SelectContainsWithRefTest()
101101
{
102102
using (var session = Domain.OpenSession())
103103
using (var tx = session.OpenTransaction()) {
104-
var values = new[] {MyEnum.Bar, MyEnum.Foo};
104+
IReadOnlyList<MyEnum> values = [MyEnum.Bar, MyEnum.Foo];
105105
var query = session.Query.All<RefEntity>()
106106
.Select(e => new {
107107
Id = e.Id,
@@ -130,4 +130,4 @@ public void SelectConditionWithRefTest()
130130
}
131131
}
132132
}
133-
}
133+
}

Orm/Xtensive.Orm/Orm/QueryableExtensions.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,10 @@ public static bool In<T>(this T source, IncludeAlgorithm algorithm, IEnumerable<
307307
values == null ? false : values.Contains(source);
308308
#pragma warning restore IDE0060 // Remove unused parameter
309309

310+
[Obsolete("Use '.LeftOuterJoin()' extension instead.")]
311+
public static IQueryable<TResult> LeftJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, TInner, TResult>> resultSelector) =>
312+
LeftOuterJoin(outer, inner, outerKeySelector, innerKeySelector, resultSelector);
313+
310314
/// <summary>
311315
/// Correlates the elements of two sequences based on matching keys.
312316
/// </summary>
@@ -322,7 +326,7 @@ public static bool In<T>(this T source, IncludeAlgorithm algorithm, IEnumerable<
322326
/// <returns></returns>
323327
/// <exception cref="ArgumentNullException">One of provided arguments is <see langword="null" />.</exception>
324328
/// <exception cref="NotSupportedException">Queryable is not a <see cref="Xtensive.Orm.Linq"/> query.</exception>
325-
public static IQueryable<TResult> LeftJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, TInner, TResult>> resultSelector)
329+
public static IQueryable<TResult> LeftOuterJoin<TOuter, TInner, TKey, TResult>(this IQueryable<TOuter> outer, IEnumerable<TInner> inner, Expression<Func<TOuter, TKey>> outerKeySelector, Expression<Func<TInner, TKey>> innerKeySelector, Expression<Func<TOuter, TInner, TResult>> resultSelector)
326330
{
327331
ArgumentNullException.ThrowIfNull(outer);
328332
ArgumentNullException.ThrowIfNull(inner);

0 commit comments

Comments
 (0)