@@ -735,6 +735,69 @@ public void Test_issue_27_select_ef_generated_literals_from_inner_select()
735735 }
736736 }
737737
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+
738801 [ Test ]
739802 public void TestTableValuedStoredFunctions ( )
740803 {
0 commit comments