@@ -49,16 +49,16 @@ public override string BuildMoveDataSql<T>(
4949 throw new InvalidOperationException ( "Table has no primary key that can be used for conflict detection." ) ;
5050 }
5151
52- q . AppendLine ( $ "MERGE INTO { target . QuotedTableName } AS TARGET ") ;
52+ q . AppendLine ( $ "MERGE INTO { target . QuotedTableName } AS { PseudoTableInserted } ") ;
5353
5454 q . Append ( "USING (SELECT " ) ;
5555 q . AppendColumns ( insertedColumns ) ;
56- q . Append ( $ " FROM { source } ) AS SOURCE (") ;
56+ q . Append ( $ " FROM { source } ) AS { PseudoTableExcluded } (") ;
5757 q . AppendColumns ( insertedColumns ) ;
5858 q . AppendLine ( ")" ) ;
5959
6060 q . Append ( "ON " ) ;
61- q . AppendJoin ( " AND " , matchColumns , ( b , col ) => b . Append ( $ "TARGET .{ col } = SOURCE .{ col } ") ) ;
61+ q . AppendJoin ( " AND " , matchColumns , ( b , col ) => b . Append ( $ "{ PseudoTableInserted } .{ col } = { PseudoTableExcluded } .{ col } ") ) ;
6262 q . AppendLine ( ) ;
6363
6464 if ( onConflictTyped . Update != null )
@@ -75,13 +75,13 @@ public override string BuildMoveDataSql<T>(
7575 q . AppendLine ( ")" ) ;
7676
7777 q . Append ( "VALUES (" ) ;
78- q . AppendJoin ( ", " , insertedColumns , ( b , col ) => b . Append ( $ "SOURCE .{ col . QuotedColumName } ") ) ;
78+ q . AppendJoin ( ", " , insertedColumns , ( b , col ) => b . Append ( $ "{ PseudoTableExcluded } .{ col . QuotedColumName } ") ) ;
7979 q . AppendLine ( ")" ) ;
8080
8181 if ( returnedColumns . Count != 0 )
8282 {
8383 q . Append ( "OUTPUT " ) ;
84- q . AppendJoin ( ", " , returnedColumns , ( b , col ) => b . Append ( $ "INSERTED .{ col . QuotedColumName } AS { col . QuotedColumName } ") ) ;
84+ q . AppendJoin ( ", " , returnedColumns , ( b , col ) => b . Append ( $ "{ PseudoTableInserted } .{ col . QuotedColumName } AS { col . QuotedColumName } ") ) ;
8585 q . AppendLine ( ) ;
8686 }
8787 }
@@ -110,12 +110,6 @@ public override string BuildMoveDataSql<T>(
110110
111111 q . AppendLine ( ";" ) ;
112112
113- var result = q . ToString ( ) ;
114- return result ;
115- }
116-
117- protected override string GetExcludedColumnName ( string columnName )
118- {
119- return $ "SOURCE.{ columnName } ";
113+ return q . ToString ( ) ;
120114 }
121115}
0 commit comments