如何使用Npgsql从c#DataSet复制并插入PostgreSQL DataBase?

时间:2017-09-27 14:04:10

标签: c# database postgresql dataset npgsql

我有一个 DataSet ,其中包含(例如)两个DataTables 。我的c#应用程序将数据填充到当前DataSet的DataTables。另外,我在PostgreSQL中有一个 DataBase ,其中两个表具有相同的列。我如何将完整DataSet(ON CONFLICT DO NOTHIG)Upsert到我的DataBase?

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

另外,如何将非空数据库读取到具有相同表和行的空DataSet?

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

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