代码之家  ›  专栏  ›  技术社区  ›  Darren Wood

Npgsql for c#如何访问表脚本、视图、外键和主键并编写它们的脚本

  •  1
  • Darren Wood  · 技术社区  · 9 年前

    我使用Npgsql包在c#中编码。我已经像这样连接到Postgresql

      string connString = String.Format("Server={0};Port={1};User Id= {2};Password={3};Database={4};", serverName, "5432", username, password,databaseName);
      NpgsqlConnection conn = new NpgsqlConnection(connString);
      conn.Open(); 
    

    有什么方法可以让我访问表、视图、主键和外键,并从c#为它们生成创建脚本吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Community CDub    8 年前

    我相当肯定Npgsql没有任何生成CREATE脚本的内置方法,但您可以访问模式信息,如 second answer to this question .

    您还可以通过查看各种 pgadmin/schema/pg*.cpp 源文件, here is how pgAdmin III generates SQL for a table 。您还可以查看psql如何描述表 here ,还有 monstrous pg_dump utility too .

    你可以直接打电话 pg_dump 并相应地处理输出,但如果应用的许可证与任何许可证不兼容,这可能会导致分发问题 pg_转储 落下。

    如果打电话 pg_转储 是不可能的,您可以从pgAdmin III或 pg_转储 源代码并在应用程序中使用(如果许可证允许)。您最不想做的事情是滚动您自己的实现。