【问题标题】:Planning to use PostgreSQL with ASP.NET: bad idea?计划将 PostgreSQL 与 ASP.NET 一起使用:坏主意?
【发布时间】:2010-09-12 22:59:05
【问题描述】:

我目前正在为我未来的 Web 项目规划基础架构。我想像 Joel 那样为每个客户拥有一个数据库,现在想着哪个数据库引擎对我有好处。最好的当然是 SQL Server,但我现在买不起完整的版本,我不认为 SQL Server Express 将是加载服务的好选择。现在我正在考虑改用 PostgreSQL。假设我的开发环境是 ASP.NET 3.5,比如 NHibernate 或 LINQ to SQL,如果我使用 PostgreSQL 而不是 SQL Server,我会有多麻烦?

谢谢!

【问题讨论】:

    标签: sql-server asp.net-mvc database linq-to-sql postgresql


    【解决方案1】:

    NHibernate 可以在 PostgreSQL 上正常工作(无论数据库是在 Windows 还是类似 UNIX 的操作系统上),而 .NET 使用 Npgsql db 提供程序可以很好地配合它。

    您会遇到的唯一“麻烦”当然是 PostgreSQL 不执行 T-SQL。事实上,它的 PL/pgSQL 存储过程语言更接近于 Oracle 的 PL/SQL,而不是 MS SQL Server 的 T-SQL。因此,您必须重新编码您的存储过程,并且如果您使用 ADO.NET,将会有一些需要注意的问题。如果您使用 NHibernate,您可能不必为此担心太多。虽然没有 LINQ to SQL,但你运气不好。

    PostgreSQL 是可扩展的,现在可以在 Windows 上正常工作(早期版本不正式支持 Windows),而且 pgAdmin 是一个很好的管理工具,你可以做大部分你可以用 SQL Server 做的事情在短时间内使用它的 GUI 工具。

    【讨论】:

    • 对于来这里的人(因为这个答案是 7 岁),我正在使用这个精确的设置,到目前为止它工作得很好。
    【解决方案2】:

    我认为这不是一个坏主意,而是一次很棒的体验。

    顺便说一下,NHibernate 是从 Linq 到 Nhibernate 的方式,它正在大力开发,并且可以在主干中使用,所以如果你关心 Linq “我不关心”,不要害怕使用它。

    【讨论】:

      【解决方案3】:

      为什么不从 SQL Server Express 开始,然后在有钱时进行迁移?这样您就可以朝着您认为理想的方向前进并降低转化成本。

      【讨论】:

      • 我在生产中使用 sql server express 和一个小应用程序,它完美地支持 9 dbs(使用它的真实客户)。您只需要监控服务器资源来决定何时跳转到非免费的 SS 版本
      【解决方案4】:

      如果您使用 PostgreSQL,您将无法使用 LINQ to SQL。目前 LINQ 仅适用于 SQL Server(可能是 Oracle)。我不确定NHibernate。另外,如果你使用 PostgreSQL,上次我检查时,他们已经放弃了 windows 支持。因此,您将考虑为 DB 提供第二个运行 Linux 的机器。

      [编辑]

      事实证明 Windows 支持 PostgreSQL。我不记得在哪里看到支持被取消了。无论如何,我听说它在 Linux 上运行得更好,所以你可能想考虑这样做。

      【讨论】:

      【解决方案5】:

      如今,postgres 与 .net 一起运行非常快,它与专有的 mssql 一样好甚至更好

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-13
        • 2012-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-07
        • 1970-01-01
        相关资源
        最近更新 更多