我有一个用 Postgres 9.3 开发的本地数据库。我计算机上的 Postgres 服务器名称只是“localhost”。我想使用 Visual Studio 13 中内置的 Entity Framework 6 Designer 自动生成与数据库表和列相对应的 EF 类和属性的数据模型。
如各种网络文章中所述,并使用 Nuget 包管理器,我将这些扩展或包添加到 VS 13:EF 6、Npgsql、EF 6 的 Npgsql 数据提供程序和 Postgresql 的 Dotconnect express。之后,在 VS 13 Server Explorer 窗口中,我能够连接并查看我的 Postgres 表和列。
但是,我似乎无法让 EF 设计器向导自动生成 .edmx 文件。我尝试添加一个 ADO.net 数据对象,选择“数据库中的 EF 设计器”或者“数据库中的代码优先”。当我进入下一个屏幕时,我必须选择一个数据源。我尝试了“MS SQL Server 数据库文件”和“其他”。对于数据提供者,除了“.Net Data Provider for SQL”之外别无选择。
在下一个屏幕中,我尝试使用 SQL 服务器身份验证,使用用户名和密码创建连接,但我永远无法让 VS 13 连接,甚至无法像在服务器资源管理器窗口中那样显示 Postgres 服务器。对于服务器名称,我使用了与服务器资源管理器窗口相同的名称,即。localhost.mydatabasename.myschema。对于 SQL 用户,我使用了 Postgres 数据库的所有者,即我创建的角色,即。我的数据库名称_角色。
当那失败时,我尝试进入 MS SQL Management Studio 2014 以查看是否可以使用服务器资源管理器窗口中使用的相同信息在那里显示 Postgres 服务器,但我也无法让 SSMS 在那里显示 Postgres 服务器。有没有办法像我一直在尝试的那样,仅使用 VS 13 和 SSMS 14 自动生成数据模型和 .edmx 文件?或者我是否需要购买由 Devart 开发的用于 Postgres 的 dotconnect 的专有/许可版本?先感谢您。