0

我想知道是否可以在以下场景中使用 Entity Framework 扫描数据库并构建 EDMX 模型:

(它实际上是一个 PostgreSQL 数据库,我可能会使用dotConnect,但我认为原理是相同的,我在 devart 论坛上提出了类似的问题。)

该数据库使用 SSL 保护,并且管理员已为单个 IP 地址提供访问权限 - 托管我的 ASP.NET 网站的计算机的地址。

理论上是否可以设置 Visual Studio(在我的开发机器上)和主机,以便我可以使用我的开发机器访问这个数据库?我需要在主机上进行什么设置才能将其用作代理(我拥有对它的完全管理员访问权限)?

没有尝试任何东西,似乎唯一的选择是在主机上安装 Visual Studio,在那里构建 EDMX 模型,并将其导入我的开发环境并在本地创建实际的数据库,但我只想这样做最后一招。

4

2 回答 2

1

只需将 postgres 工具和库复制到服务器机器(或在其上安装完整的 postgres DB)并用于pg_dump将 DB 模式和/或数据转储到文件中。

阅读this page有关pg_dump.

如果您只想要模式转储,请--schema_only使用pg_dump.

于 2013-09-17T16:25:30.437 回答
1

dotConnect for PostgreSQL允许您通过代理进行连接。您可以在托管您的 ASP.NET 网站并有权访问 PostgreSQL 数据库的计算机上安装代理服务器。您可以通过此代理服务器连接到数据库。为此,您需要应用以下连接设置:

PgSqlConnection conn = new PgSqlConnection("host=<DATABASE HOST>;port=5434;uid=<USER ID>;pwd=<PASSWORD>");
conn.ProxyOptions.Host = "PROXY HOST";
conn.ProxyOptions.Port = 3128;
conn.ProxyOptions.User = "PROXY USER ID";
conn.ProxyOptions.Password = "PROXY PASSWORD";

dotConnect for PostgreSQL也可以通过 SSL 连接。为此,您需要配置服务器以使其支持 SSL 连接并应用以下连接设置:

conn.SslOptions.CACert = "D:\\Certificates Pg\\client\\root.crt";
conn.SslOptions.Cert = "D:\\Certificates Pg\\client\\client.crt";
conn.SslOptions.Key = "D:\\Certificates Pg\\client\\client.key";
conn.SslOptions.SslMode = SslMode.Require;

dotConnect for PostgreSQL允许通过代理创建 SSL 连接。

于 2013-09-20T12:36:06.237 回答