@@ -735,6 +735,69 @@ public void Test_issue_27_select_ef_generated_literals_from_inner_select()
735
735
}
736
736
}
737
737
738
+ [ Test ]
739
+ public void Test_issue_60_and_62 ( )
740
+ {
741
+ using ( var context = new BloggingContext ( ConnectionString ) )
742
+ {
743
+ context . Database . Log = Console . Out . WriteLine ;
744
+
745
+ context . Blogs . Add ( new Blog { Name = "Hello" } ) ;
746
+ context . SaveChanges ( ) ;
747
+
748
+ string string_value = "string_value" ;
749
+ var query = context . Blogs . Select ( b => string_value + "_postfijo" ) . Take ( 1 ) ;
750
+ var blog_title = query . First ( ) ;
751
+ Assert . That ( blog_title , Is . EqualTo ( "string_value_postfijo" ) ) ;
752
+ StringAssert . DoesNotContain ( "case" , query . ToString ( ) . ToLower ( ) ) ;
753
+ }
754
+ }
755
+
756
+ [ Test ]
757
+ public void TestNullPropagation_1 ( )
758
+ {
759
+ using ( var context = new BloggingContext ( ConnectionString ) )
760
+ {
761
+ context . Database . Log = Console . Out . WriteLine ;
762
+
763
+ context . Blogs . Add ( new Blog { Name = "Hello" } ) ;
764
+ context . SaveChanges ( ) ;
765
+
766
+ string valor_string = "string_value" ;
767
+ var query = context . Blogs . Select ( b => ( valor_string ?? "otro_valor" ) + "_postfijo" ) . Take ( 1 ) ;
768
+ var blog_title = query . First ( ) ;
769
+ Assert . That ( blog_title , Is . EqualTo ( "string_value_postfijo" ) ) ;
770
+
771
+ var query_sql = query . ToString ( ) . ToLower ( ) ;
772
+ StringAssert . DoesNotContain ( "case" , query . ToString ( ) . ToLower ( ) ) ;
773
+ StringAssert . Contains ( "coalesce(@p__linq__0,e'otro_valor',e'')" , query_sql ) ;
774
+ }
775
+ }
776
+
777
+ [ Test ]
778
+ public void TestNullPropagation_2 ( )
779
+ {
780
+ using ( var context = new BloggingContext ( ConnectionString ) )
781
+ {
782
+ context . Database . Log = Console . Out . WriteLine ;
783
+
784
+ context . Blogs . Add ( new Blog { Name = "Hello" } ) ;
785
+ context . SaveChanges ( ) ;
786
+
787
+ string string_value1 = "string_value1" ;
788
+ string string_value2 = "string_value2" ;
789
+ string string_value3 = "string_value3" ;
790
+
791
+ var query = context . Blogs . Select ( b => ( string_value1 ?? string_value2 ?? string_value3 ) + "_postfijo" ) . Take ( 1 ) ;
792
+ var blog_title = query . First ( ) ;
793
+ Assert . That ( blog_title , Is . EqualTo ( "string_value1_postfijo" ) ) ;
794
+
795
+ var query_sql = query . ToString ( ) . ToLower ( ) ;
796
+ StringAssert . DoesNotContain ( "case" , query_sql ) ;
797
+ StringAssert . Contains ( "coalesce(@p__linq__0,@p__linq__1,@p__linq__2,e'')" , query_sql ) ;
798
+ }
799
+ }
800
+
738
801
[ Test ]
739
802
public void TestTableValuedStoredFunctions ( )
740
803
{
0 commit comments