C# ORM的哪些选项允许近';轻按开关';在…SQL Server/SQL Azure和PostgreSQL/';云';PostgreSQL

C# ORM的哪些选项允许近';轻按开关';在…SQL Server/SQL Azure和PostgreSQL/';云';PostgreSQL,c#,asp.net,sql,postgresql,orm,C#,Asp.net,Sql,Postgresql,Orm,鉴于以下限制: 我将开发一个全新的网站 我将使用C#和ASP.NET MVC Linux和mono会很好,但windows是一个可接受的约束(如果是,请提及) 现在有趣的一点是: 我希望能够尽可能地“轻弹开关”在SQL Server/SQL Azure和基于PostgreSQL/Cloud的PostgreSQL之间更改RDBMS 我希望尽可能多地利用ORM(ORM必须理想情况下只需更改设置即可切换到这些备用数据库后端之一) 这应该包括以与all相同的方式调用存储过程 出于许多人的兴趣,我

鉴于以下限制:

  • 我将开发一个全新的网站
  • 我将使用C#和ASP.NET MVC
  • Linux和mono会很好,但windows是一个可接受的约束(如果是,请提及)
现在有趣的一点是:

  • 我希望能够尽可能地“轻弹开关”在SQL Server/SQL Azure和基于PostgreSQL/Cloud的PostgreSQL之间更改RDBMS

  • 我希望尽可能多地利用ORM(ORM必须理想情况下只需更改设置即可切换到这些备用数据库后端之一)

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

出于许多人的兴趣,我正在从实际经验中寻找具有详细限制的选项

  • 请不要回答“不可能”或“不要麻烦”
  • 请不要以任何其他方式对ORM进行比较,而不是比较它们执行上述操作的能力以及保留了多少功能。这应该而不是变成x ORM比y ORM好
  • 请不要讨论SQLAzure与专用主机相比的局限性
  • 请不要讨论SQL Server或PostgreSQL的差异、优缺点、存储过程转换等
  • 请不要讨论存储过程中应该包含哪些内容以及服务层中应该包含哪些内容
它似乎支持您的要求。当然可以。看起来您也可以使用存储过程,但这有点模糊

我相信您翻转的唯一“开关”在
.config
文件中(无重建)


作为相关情况的补充,新的EF代码优先+迁移位非常简洁。我一直在本地使用SQL Server进行开发,并在生产中使用SQL Server云主机。我对他们很满意。

回答你的问题有很多规则。是的。。。把注意力集中在这个问题上。我知道它有点满了。:-)我遇到了两个类似的问题:。谢谢,我知道devart,但不知道virtuoso和PgFoundry供应商。我会投票给你的答案,但我不会被接受…希望其他人能提供更详细的信息。你以“我相信”开头的陈述让我仍然不确定。当时间到来时(如果没有其他答案),我想我可以尝试一个简单的项目和几个表,并尝试在这些提供者之间切换。我还没有使用实体框架,所以我不知道还有什么更好的。标记为已回答,我已经进一步调查了。我喜欢以下微型ORM的外观:Peta Poco Dapper,ORM Lite出于性能原因,但出于脚手架/RAD的原因,我可能会选择最初使用EF5。