使用npgsql执行postgres脚本

Za7*_*7pi 2 c# sql asp.net npgsql executenonquery

我有一个创建表的脚本(*.sql).我正在使用Visual Studio 2010和npgsql来访问postgres数据库.

我可以从代码隐藏中执行脚本吗?

这是我尝试过的代码:

string sqlConnectionString = @"myconnection";

FileInfo file = new FileInfo(@"myfile.sql");

string script = file.OpenText().ReadToEnd();

NpgsqlConnection conn = new NpgsqlConnection(sqlConnectionString);

Server server = new Server(new ServerConnection(conn));

server.ConnectionContext.ExecuteNonQuery(script);
file.OpenText().Close();
Run Code Online (Sandbox Code Playgroud)

但是Visual Studio不承认Server.

Za7*_*7pi 5

我知道了.答案如下:

NpgsqlConnection _connPg = new NpgsqlConnection("yourconnectionstring"));

FileInfo file = new FileInfo(HttpContext.Current.Server.MapPath("DatabaseSchema.sql"));
string script = file.OpenText().ReadToEnd();
var m_createdb_cmd = new NpgsqlCommand(script, _connPg);
_connPg.Open();
m_createdb_cmd.ExecuteNonQuery();
_connPg.Close();
Run Code Online (Sandbox Code Playgroud)