@@ -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 {
0 commit comments