3

鉴于以下约束:

  • 我将开发一个全新的网站。
  • 我将使用 C# 和 ASP.NET MVC
  • 带有单声道的 Linux 会很好,但 windows 是一个可以接受的约束(如果是,请提及)。

现在有趣的一点:

  • 我希望尽可能接近能够“轻按开关”以在 SQL Server/SQL Azure 和 PostgreSQL/基于云的 PostgreSQL 之间更改 RDBMS。

  • 我想尽可能地利用 ORM(理想情况下,ORM 必须需要更改设置以切换到这些替代数据库后端之一)。

  • 这应该包括以与所有方式相同的方式调用存储过程。

为了许多人的利益,我正在从实践经验中寻找具有详细限制的选项。

  • 不要给出“不可能”或“不要打扰”之类的答案。
  • 请不要任何其他方式比较 ORM,它们执行上述操作的能力以及保留了多少功能。这不应该变成x ORM 比 y ORM 更好。
  • 不要讨论 SQL Azure 与专用托管的限制。
  • 不要讨论 SQL Server 或 PostgreSQL 的差异、优势/劣势、存储过程转换等。
  • 不要讨论什么应该在存储过程中,什么应该在服务层中。
4

1 回答 1

3

看来实体框架支持您的要求。它绝对可以连接到您的两个提供商。看起来您也可以使用存储过程,但这有点模糊。

我相信你翻转的唯一“开关”是在.config文件中(没有重建)。

顺便说一句,新的 EF Code First + Migrations 位非常简洁。我一直在本地将它们与 SQL Server 一起用于开发,并在 SQL Server 云主机上用于生产。我对他们很满意。

于 2012-05-15T16:04:28.613 回答