Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
20d5fef
Update dependencies from build 304615 (#37854)
dotnet-maestro[bot] Mar 5, 2026
9141489
Update dependencies from build 304701 (#37858)
dotnet-maestro[bot] Mar 5, 2026
82f974b
Update dependencies from build 304915 (#37876)
dotnet-maestro[bot] Mar 6, 2026
a4a91fb
Update dependencies from build 305024 (#37881)
dotnet-maestro[bot] Mar 7, 2026
2277164
Update dependencies from build 305074 (#37886)
dotnet-maestro[bot] Mar 9, 2026
ecc3936
Update dependencies from build 305271 (#37892)
dotnet-maestro[bot] Mar 9, 2026
b48ea4d
Update dependencies from build 305389 (#37894)
dotnet-maestro[bot] Mar 10, 2026
b20350a
Update dependencies from build 305413 (#37896)
dotnet-maestro[bot] Mar 10, 2026
92de1c1
Update dependencies from build 305495 (#37898)
dotnet-maestro[bot] Mar 10, 2026
3a8fcc4
Update dependencies from build 305569 (#37902)
dotnet-maestro[bot] Mar 11, 2026
50d0a10
Update dependencies from build 305648 (#37904)
dotnet-maestro[bot] Mar 11, 2026
5117a26
Update dependencies from build 306135 (#37922)
dotnet-maestro[bot] Mar 14, 2026
d06927c
Update dependencies from build 306176 (#37925)
dotnet-maestro[bot] Mar 15, 2026
79fdc9f
Update dependencies from build 306234 (#37930)
dotnet-maestro[bot] Mar 15, 2026
1af4e91
Update dependencies from build 306251 (#37931)
dotnet-maestro[bot] Mar 16, 2026
3031b80
Update dependencies from build 306357 (#37936)
dotnet-maestro[bot] Mar 16, 2026
f1817b2
Update dependencies from build 306438 (#37938)
dotnet-maestro[bot] Mar 17, 2026
1ff287c
Fix projection of required complex type via left join (#37928)
roji Mar 17, 2026
7146882
Merge branch 'main' into merge/release/10.0-to-main
AndriySvyryd Mar 17, 2026
494f211
Fix context initialization in test
AndriySvyryd Mar 18, 2026
d5f5db8
Fix CreateContext usage
AndriySvyryd Mar 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/Version.Details.props
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ This file should be imported by eng/Versions.props
</PropertyGroup>
<!--Property group for alternate package version names-->
<PropertyGroup>
<!-- dotnet/dotnet dependencies -->
<!-- dotnet-dotnet dependencies -->
<MicrosoftDotNetArcadeSdkVersion>$(MicrosoftDotNetArcadeSdkPackageVersion)</MicrosoftDotNetArcadeSdkVersion>
<MicrosoftDotNetBuildTasksTemplatingVersion>$(MicrosoftDotNetBuildTasksTemplatingPackageVersion)</MicrosoftDotNetBuildTasksTemplatingVersion>
<MicrosoftDotNetHelixSdkVersion>$(MicrosoftDotNetHelixSdkPackageVersion)</MicrosoftDotNetHelixSdkVersion>
Expand Down
1 change: 0 additions & 1 deletion eng/common/core-templates/steps/publish-logs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ steps:
-runtimeSourceFeed https://ci.dot.net/internal
-runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)'
'$(publishing-dnceng-devdiv-code-r-build-re)'
'$(MaestroAccessToken)'
'$(dn-bot-all-orgs-artifact-feeds-rw)'
'$(akams-client-id)'
'$(microsoft-symbol-server-pat)'
Expand Down
2 changes: 1 addition & 1 deletion eng/common/templates/post-build/post-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ stages:
is1ESPipeline: false

${{ each parameter in parameters }}:
${{ parameter.key }}: ${{ parameter.value }}
${{ parameter.key }}: ${{ parameter.value }}
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,12 @@ IServiceProperty serviceProperty

IComplexProperty complexProperty
=> CreateMaterializeExpression(
new StructuralTypeMaterializerSourceParameters(complexProperty.ComplexType, "complexType", complexProperty.ClrType, nullable || complexProperty.IsNullable, QueryTrackingBehavior: null),
new StructuralTypeMaterializerSourceParameters(
complexProperty.ComplexType,
"complexType",
complexProperty.ClrType,
complexProperty.IsNullable,
QueryTrackingBehavior: null),
bindingInfo.MaterializationContextExpression),

_ => throw new UnreachableException()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,80 @@ public class ComplexTypeWithAllNulls

#endregion 37162

#region 37304

[ConditionalFact]
public virtual async Task Non_optional_complex_type_with_all_nullable_properties_via_left_join()
{
var contextFactory = await InitializeNonSharedTest<Context37304>(
seed: context =>
{
context.Add(
new Context37304.Parent
{
Id = 1,
Children =
[
new Context37304.Child
{
Id = 1,
ComplexType = new Context37304.ComplexTypeWithAllNulls()
}
]
});
return context.SaveChangesAsync();
});

await using var context = contextFactory.CreateDbContext();

var parent = await context.Set<Context37304.Parent>().Include(p => p.Children).SingleAsync();

var child = parent.Children.Single();
Assert.NotNull(child.ComplexType);
Assert.Null(child.ComplexType.NullableString);
Assert.Null(child.ComplexType.NullableDateTime);
}

private class Context37304(DbContextOptions options) : DbContext(options)
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Parent>(b =>
{
b.Property(p => p.Id).ValueGeneratedNever();
});

modelBuilder.Entity<Child>(b =>
{
b.Property(c => c.Id).ValueGeneratedNever();
b.HasOne(c => c.Parent).WithMany(p => p.Children).HasForeignKey(c => c.ParentId);
b.ComplexProperty(c => c.ComplexType);
});
}

public class Parent
{
public int Id { get; set; }
public List<Child> Children { get; set; } = [];
}

public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public Parent Parent { get; set; } = null!;
public ComplexTypeWithAllNulls ComplexType { get; set; } = null!;
}

public class ComplexTypeWithAllNulls
{
public string? NullableString { get; set; }
public DateTime? NullableDateTime { get; set; }
}
}

#endregion 37304

#region Issue37337

private const string Issue37337CreatedByShadowPropertyName = "CreatedBy";
Expand Down
Loading