Skip to content

Commit 3fbb5e7

Browse files
authored
Sync to EF 11.0.0-preview.1.26104.118 (#3722)
1 parent 9edb0f1 commit 3fbb5e7

103 files changed

Lines changed: 4566 additions & 2030 deletions

File tree

Some content is hidden

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

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<VersionPrefix>11.0.0-preview.1</VersionPrefix>
4-
<TargetFramework>net10.0</TargetFramework>
4+
<TargetFramework>net11.0</TargetFramework>
55
<LangVersion>latest</LangVersion>
66
<Nullable>enable</Nullable>
77
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

Directory.Packages.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
3-
<EFCoreVersion>10.0.0</EFCoreVersion>
4-
<MicrosoftExtensionsVersion>10.0.0</MicrosoftExtensionsVersion>
3+
<EFCoreVersion>11.0.0-preview.1.26104.118</EFCoreVersion>
4+
<MicrosoftExtensionsVersion>11.0.0-preview.1.26104.118</MicrosoftExtensionsVersion>
55
<NpgsqlVersion>10.0.0</NpgsqlVersion>
66
</PropertyGroup>
77

@@ -10,11 +10,11 @@
1010
Dependencies on EF preview versions should be locked to a specific version (as provider-facing breaking changes are frequent).
1111
For released versions, depend on anything in the current major version to allow users to update to higher patch versions.
1212
-->
13-
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="[10.0.0]" />
14-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="[10.0.0]" />
15-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Abstractions" Version="[10.0.0]" />
16-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="[10.0.0]" />
17-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="[10.0.0]" />
13+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="[$(EFCoreVersion)]" />
14+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="[$(EFCoreVersion)]" />
15+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Abstractions" Version="[$(EFCoreVersion)]" />
16+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="[$(EFCoreVersion)]" />
17+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="[$(EFCoreVersion)]" />
1818

1919
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsVersion)" />
2020
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsVersion)" />

NuGet.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<packageSources>
4-
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
4+
<add key="dotnet11" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11/nuget/v3/index.json" />
55
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
66
<add key="npgsql-vnext" value="https://www.myget.org/F/npgsql-vnext/api/v3/index.json" />
77
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
@@ -18,7 +18,7 @@
1818
<package pattern="Npgsql" />
1919
<package pattern="Npgsql.*" />
2020
</packageSource>
21-
<packageSource key="dotnet10">
21+
<packageSource key="dotnet11">
2222
<package pattern="*" />
2323
</packageSource>
2424
</packageSourceMapping>

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"sdk": {
3-
"version": "10.0.100",
3+
"version": "11.0.100-preview.1.26104.118",
44
"rollForward": "latestMinor",
5-
"allowPrerelease": false
5+
"allowPrerelease": true
66
}
77
}

test/EFCore.PG.FunctionalTests/BuiltInDataTypesNpgsqlTest.cs

Lines changed: 0 additions & 237 deletions
Original file line numberDiff line numberDiff line change
@@ -719,212 +719,10 @@ private static void AssertNullMappedNullableDataTypes(MappedNullableDataTypes en
719719
Assert.Null(entity.Mood);
720720
}
721721

722-
public override async Task Can_query_with_null_parameters_using_any_nullable_data_type()
723-
{
724-
using (var context = CreateContext())
725-
{
726-
context.Set<BuiltInNullableDataTypes>().Add(
727-
new BuiltInNullableDataTypes { Id = 711 });
728-
729-
Assert.Equal(1, await context.SaveChangesAsync());
730-
}
731-
732-
using (var context = CreateContext())
733-
{
734-
var entity = (await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711).ToListAsync()).Single();
735-
736-
short? param1 = null;
737-
Assert.Same(
738-
entity,
739-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableInt16 == param1).ToListAsync())
740-
.Single());
741-
Assert.Same(
742-
entity,
743-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && (long?)e.TestNullableInt16 == param1)
744-
.ToListAsync())
745-
.Single());
746-
747-
int? param2 = null;
748-
Assert.Same(
749-
entity,
750-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableInt32 == param2).ToListAsync())
751-
.Single());
752-
753-
long? param3 = null;
754-
Assert.Same(
755-
entity,
756-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableInt64 == param3).ToListAsync())
757-
.Single());
758-
759-
double? param4 = null;
760-
Assert.Same(
761-
entity,
762-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableDouble == param4).ToListAsync())
763-
.Single());
764-
765-
decimal? param5 = null;
766-
Assert.Same(
767-
entity,
768-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableDecimal == param5).ToListAsync())
769-
.Single());
770-
771-
DateTime? param6 = null;
772-
Assert.Same(
773-
entity,
774-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableDateTime == param6).ToListAsync())
775-
.Single());
776-
777-
// We don't support DateTimeOffset
778-
779-
TimeSpan? param8 = null;
780-
Assert.Same(
781-
entity,
782-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableTimeSpan == param8).ToListAsync())
783-
.Single());
784-
785-
float? param9 = null;
786-
Assert.Same(
787-
entity,
788-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableSingle == param9).ToListAsync())
789-
.Single());
790-
791-
bool? param10 = null;
792-
Assert.Same(
793-
entity,
794-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableBoolean == param10).ToListAsync())
795-
.Single());
796-
797-
// We don't support byte
798-
799-
Enum64? param12 = null;
800-
Assert.Same(
801-
entity,
802-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.Enum64 == param12).ToListAsync()).Single());
803-
804-
Enum32? param13 = null;
805-
Assert.Same(
806-
entity,
807-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.Enum32 == param13).ToListAsync()).Single());
808-
809-
Enum16? param14 = null;
810-
Assert.Same(
811-
entity,
812-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.Enum16 == param14).ToListAsync()).Single());
813-
814-
Enum8? param15 = null;
815-
Assert.Same(
816-
entity,
817-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.Enum8 == param15).ToListAsync()).Single());
818-
819-
var entityType = context.Model.FindEntityType(typeof(BuiltInNullableDataTypes));
820-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.TestNullableUnsignedInt16)) is not null)
821-
{
822-
ushort? param16 = null;
823-
Assert.Same(
824-
entity,
825-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableUnsignedInt16 == param16)
826-
.ToListAsync())
827-
.Single());
828-
}
829-
830-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.TestNullableUnsignedInt32)) is not null)
831-
{
832-
uint? param17 = null;
833-
Assert.Same(
834-
entity,
835-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableUnsignedInt32 == param17)
836-
.ToListAsync())
837-
.Single());
838-
}
839-
840-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.TestNullableUnsignedInt64)) is not null)
841-
{
842-
ulong? param18 = null;
843-
Assert.Same(
844-
entity,
845-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableUnsignedInt64 == param18)
846-
.ToListAsync())
847-
.Single());
848-
}
849-
850-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.TestNullableCharacter)) is not null)
851-
{
852-
char? param19 = null;
853-
Assert.Same(
854-
entity,
855-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableCharacter == param19)
856-
.ToListAsync())
857-
.Single());
858-
}
859-
860-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.TestNullableSignedByte)) is not null)
861-
{
862-
sbyte? param20 = null;
863-
Assert.Same(
864-
entity,
865-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.TestNullableSignedByte == param20)
866-
.ToListAsync())
867-
.Single());
868-
}
869-
870-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.EnumU64)) is not null)
871-
{
872-
EnumU64? param21 = null;
873-
Assert.Same(
874-
entity,
875-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.EnumU64 == param21).ToListAsync()).Single());
876-
}
877-
878-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.EnumU32)) is not null)
879-
{
880-
EnumU32? param22 = null;
881-
Assert.Same(
882-
entity,
883-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.EnumU32 == param22).ToListAsync()).Single());
884-
}
885-
886-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.EnumU16)) is not null)
887-
{
888-
EnumU16? param23 = null;
889-
Assert.Same(
890-
entity,
891-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.EnumU16 == param23).ToListAsync()).Single());
892-
}
893-
894-
if (entityType.FindProperty(nameof(BuiltInNullableDataTypes.EnumS8)) is not null)
895-
{
896-
EnumS8? param24 = null;
897-
Assert.Same(
898-
entity,
899-
(await context.Set<BuiltInNullableDataTypes>().Where(e => e.Id == 711 && e.EnumS8 == param24).ToListAsync()).Single());
900-
}
901-
}
902-
}
903-
904-
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
905-
public override Task Can_insert_and_read_back_all_nullable_data_types_with_values_set_to_non_null()
906-
=> Task.CompletedTask;
907-
908-
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
909-
public override Task Can_insert_and_read_back_non_nullable_backed_data_types()
910-
=> Task.CompletedTask;
911-
912-
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
913-
public override Task Can_insert_and_read_back_nullable_backed_data_types()
914-
=> Task.CompletedTask;
915-
916722
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
917723
public override Task Can_insert_and_read_back_object_backed_data_types()
918724
=> Task.CompletedTask;
919725

920-
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
921-
public override Task Can_query_using_any_data_type_nullable_shadow()
922-
=> Task.CompletedTask;
923-
924-
[ConditionalFact(Skip = "DateTimeOffset with non-zero offset, https://github.com/dotnet/efcore/issues/26068")]
925-
public override Task Can_query_using_any_data_type_shadow()
926-
=> Task.CompletedTask;
927-
928726
[ConditionalFact]
929727
public void Sum_Conversions()
930728
{
@@ -1017,36 +815,17 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
1017815
// supported.
1018816
modelBuilder.Entity<BuiltInDataTypes>().Property(b => b.TestDateTime)
1019817
.HasColumnType("timestamp without time zone");
1020-
modelBuilder.Entity<BuiltInNullableDataTypes>().Property(b => b.TestNullableDateTime)
1021-
.HasColumnType("timestamp without time zone");
1022-
modelBuilder.Entity<BuiltInNullableDataTypesShadow>().Property(nameof(BuiltInNullableDataTypes.TestNullableDateTime))
1023-
.HasColumnType("timestamp without time zone");
1024818
modelBuilder.Entity<ObjectBackedDataTypes>().Property(b => b.DateTime)
1025819
.HasColumnType("timestamp without time zone");
1026-
modelBuilder.Entity<NullableBackedDataTypes>().Property(b => b.DateTime)
1027-
.HasColumnType("timestamp without time zone");
1028-
modelBuilder.Entity<NonNullableBackedDataTypes>().Property(b => b.DateTime)
1029-
.HasColumnType("timestamp without time zone");
1030820

1031821
// We don't support DateTimeOffset with non-zero offset, so we need to override the seeding data
1032822
modelBuilder.Entity<BuiltInDataTypes>().Metadata.GetSeedData()
1033823
.Single(t => (int)t[nameof(BuiltInDataTypes.Id)] == 13)[nameof(BuiltInDataTypes.TestDateTimeOffset)]
1034824
= new DateTimeOffset(DateTime.Parse("01/01/2000 12:34:56"), TimeSpan.Zero);
1035825

1036-
modelBuilder.Entity<BuiltInNullableDataTypes>().Metadata.GetSeedData()
1037-
.Single(t => (int)t[nameof(BuiltInDataTypes.Id)] == 13)[nameof(BuiltInNullableDataTypes.TestNullableDateTimeOffset)]
1038-
= new DateTimeOffset(DateTime.Parse("01/01/2000 12:34:56"), TimeSpan.Zero);
1039-
1040826
modelBuilder.Entity<ObjectBackedDataTypes>().Metadata.GetSeedData()
1041827
.Single()[nameof(ObjectBackedDataTypes.DateTimeOffset)] = new DateTimeOffset(new DateTime(), TimeSpan.Zero);
1042828

1043-
modelBuilder.Entity<NullableBackedDataTypes>().Metadata.GetSeedData()
1044-
.Single()[nameof(NullableBackedDataTypes.DateTimeOffset)]
1045-
= new DateTimeOffset(DateTime.Parse("01/01/2000 12:34:56"), TimeSpan.Zero);
1046-
1047-
modelBuilder.Entity<NonNullableBackedDataTypes>().Metadata.GetSeedData()
1048-
.Single()[nameof(NonNullableBackedDataTypes.DateTimeOffset)] = new DateTimeOffset(new DateTime(), TimeSpan.Zero);
1049-
1050829
modelBuilder.Entity<BuiltInDataTypes>(
1051830
b =>
1052831
{
@@ -1063,22 +842,6 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
1063842
//b.Ignore(dt => dt.EnumS8);
1064843
});
1065844

1066-
modelBuilder.Entity<BuiltInNullableDataTypes>(
1067-
b =>
1068-
{
1069-
b.Ignore(dt => dt.TestNullableUnsignedInt16);
1070-
b.Ignore(dt => dt.TestNullableUnsignedInt32);
1071-
b.Ignore(dt => dt.TestNullableUnsignedInt64);
1072-
b.Ignore(dt => dt.TestNullableCharacter);
1073-
b.Ignore(dt => dt.TestNullableSignedByte);
1074-
b.Ignore(dt => dt.TestNullableDateTimeOffset);
1075-
b.Ignore(dt => dt.TestNullableByte);
1076-
//b.Ignore(dt => dt.EnumU16);
1077-
//b.Ignore(dt => dt.EnumU32);
1078-
//b.Ignore(dt => dt.EnumU64);
1079-
//b.Ignore(dt => dt.EnumS8);
1080-
});
1081-
1082845
modelBuilder.Entity<MappedDataTypes>(
1083846
b =>
1084847
{

test/EFCore.PG.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesNpgsqlTest.cs

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,19 @@ public class NonSharedModelBulkUpdatesNpgsqlTest(NonSharedFixture fixture) : Non
55
protected override ITestStoreFactory TestStoreFactory
66
=> NpgsqlTestStoreFactory.Instance;
77

8-
[ConditionalFact]
9-
public virtual void Check_all_tests_overridden()
10-
=> TestHelpers.AssertAllMethodsOverridden(GetType());
8+
9+
public override async Task Update_complex_type_property_with_view_mapping(bool async)
10+
{
11+
await base.Update_complex_type_property_with_view_mapping(async);
12+
13+
AssertSql(
14+
"""
15+
@p='6'
16+
17+
UPDATE "Blogs" AS b
18+
SET "ComplexThing_Prop1" = @p
19+
""");
20+
}
1121

1222
public override async Task Delete_aggregate_root_when_eager_loaded_owned_collection(bool async)
1323
{
@@ -270,12 +280,24 @@ public override async Task Update_complex_type_with_view_mapping(bool async)
270280
await base.Update_complex_type_with_view_mapping(async);
271281

272282
// #34706
273-
AssertSql();
283+
AssertSql(
284+
"""
285+
@complex_type_p_Prop1='3' (Nullable = true)
286+
@complex_type_p_Prop2='4' (Nullable = true)
287+
288+
UPDATE "Blogs" AS b
289+
SET "ComplexThing_Prop1" = @complex_type_p_Prop1,
290+
"ComplexThing_Prop2" = @complex_type_p_Prop2
291+
""");
274292
}
275293

276294
private void AssertSql(params string[] expected)
277295
=> TestSqlLoggerFactory.AssertBaseline(expected);
278296

279297
private void AssertExecuteUpdateSql(params string[] expected)
280298
=> TestSqlLoggerFactory.AssertBaseline(expected, forUpdate: true);
299+
300+
[ConditionalFact]
301+
public virtual void Check_all_tests_overridden()
302+
=> TestHelpers.AssertAllMethodsOverridden(GetType());
281303
}

0 commit comments

Comments
 (0)