W końcu znalazłem rozwiązanie po przeczytaniu poniższej instrukcjihttps://downloads.mysql. com/docs/connector-net-en.pdf
Dostępna jest opcja połączenia o nazwie Użyj dotkniętych wierszy, Użyj dotkniętych wierszy
Jego domyślna wartość to false.
A opis mówi:
Kiedy jest używany; Nie ustawia flagi CLIENT_FOUND_ROWS podczas łączenia się z serwerem
Wygląda na to, że MySQL Workbench i MySQL Command Line nie używają flagi CLIENT_FOUND_ROWS podczas połączenia, podczas gdy MySql .Net Connector używa jej domyślnie.
Od INSERT ... ON DUPLICATE KEY UPDATE pod adresem https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
Rozwiązanie:dodaj to do ciągu połączenia
Use Affected Rows=true