如何使用 Npgsql 从 C# 数据集复制和插入到 PostgreSQL 数据库?

How to Copy and Insert from c# DataSet to PostgreSQL DataBase with Npgsql?

我有一个 DataSet(f 示例)两个数据Tables。我的 c# 应用程序将数据填充到当前 DataSet 的 DataTables。此外,我在 PostgreSQL 中有一个 DataBase,具有相同的 两个表 和相同的列。如何将 (ON CONFLICT DO NOTHIG) 完整数据集更新到我的数据库?

我知道将 DataTable 中的每一行插入到 Postgresql Table 中的复杂方法,但也许有一些可爱、简单且快速的方法可以将整个 DataSet 插入到 DataBase 中?

此外,如何将非空数据库读取为具有相同表和表行的空数据集?

感谢您的回答!

ON CONFLICT DO NOTHING(即 upsert)是 PostgreSQL 特有的特性。由于 DataSet/DataTable 是一个通用的 .NET 功能并且可以与其他数据库一起使用,因此它们不会为您生成更新插入。您必须自己编写 SQL 才能更新插入。