带有 Postgres 的 ASP.NET MVC; ORM 推荐?
Posted
技术标签:
【中文标题】带有 Postgres 的 ASP.NET MVC; ORM 推荐?【英文标题】:ASP.NET MVC with Postgres; ORM recommendations? 【发布时间】:2009-09-19 17:48:10 【问题描述】:我正在项目管理正在开发的 Intranet 应用程序。我们正处于早期规划阶段。我之前使用 Django 在 Python 中完成了所有开发,但由于我们是一家 Windows 商店,我们可能会使用 ASP.NET MVC。
虽然我们真的买不起 SQLServer 许可证,所以我们可能正在考虑使用 Postgresql。但是,对于想要使用与 Postgresql 一起使用的第三方 ORM(或者至少是使用与 Django 类似的 ORM)的人来说,我似乎找不到很多示例或指南。
最终我们希望通过 Active Directory [包括组] 处理身份验证,但将实际内容存储在 db 中。
以前也有类似性质的问题,但大多数问题已经超过一年,当时 MVC 仍处于 Beta 阶段。
有什么想法吗?
【问题讨论】:
【参考方案1】:NHibernate 以国家英里为单位。
它还支持MySql,如果你想改变它,它也有主要的商业。没有在数据库供应商之间切换,但如果你不做太多定制的 t-sql 并说使用流利的 nhibernate,你几乎可以在数据库平台之间即插即用。
就 Mvc 而言,NHibernate 背后的支持和社区是首屈一指的。它绝对是首选的 ORM。
【讨论】:
【参考方案2】:您可以尝试DataObjects.Net - 具有 GPLv3 或商业许可证的开源 ORM。它还支持 Postrges。
【讨论】:
我要补充一点,DO4 几乎与 SQL Server 一样支持 PostgreSQL。在这些屏幕截图上比较测试通过结果:tinyurl.com/yzrf8uytinyurl.com/yj7v7r8tinyurl.com/ygv7s89【参考方案3】:NHibernate 支持 PostgreSQL。请参阅http://vampirebasic.blogspot.com/2009/02/nhibernate-with-postgresql.html 获取有关如何整合两者的建议。
另外值得一提的是 NHibernate 现在支持 LINQ 语法。详情请见http://ayende.com/Blog/archive/2009/07/26/nhibernate-linq-1.0-released.aspx。
【讨论】:
【参考方案4】:我推荐 Mindscape LightSpeed。它支持 PostgreSQL,并在 Visual Studio 中嵌入了一个可视化设计器,具有到 PostgreSQL 的完整数据库往返。
当 Visual Studio 没有插件来支持服务器资源管理器中的 PostgreSQL 时,这些家伙编写了一个免费的 Visual Studio 插件来支持它。
具有 LINQ 的可靠 O/R 映射器与针对 PostgreSQL 的一流可视化模型开发相结合。它是一个商业产品,但是有一个小型数据库的免费版本。
Mindscape LightSpeed O/R Mapper
【讨论】:
【参考方案5】:试试 Devart LinqConnect - http://www.devart.com/linqconnect/。该框架支持 PostgreSQL、Oracle、mysql、SQLIte。
【讨论】:
【参考方案6】:很遗憾,对于此类问题,您得到的大多数答案都是基于响应者的意见和经验,而不是您的。
这里的大多数建议都很好...但是...如果您正在寻找一个 类似于 Django 的轻量级/快速 ORM,JackD 有正确的解决方案 (LinqConnect).. .
我使用了大多数列出的解决方案,包括 Django,并且发现如果我正在寻找快速、轻量级和简单的解决方案,我通常会选择 LinqConnect。对于更重(阅读更大)的项目,我会使用更强大的东西,比如 NHibernate。
但是要正确回答您的问题...对于使用 Django 的人来说,最接近的匹配和最少的学习曲线肯定是 LinqConnect。
【讨论】:
以上是关于带有 Postgres 的 ASP.NET MVC; ORM 推荐?的主要内容,如果未能解决你的问题,请参考以下文章
带有 HTML.ValidationMessageFor 的 ASP.NET MVC AJAX
带有外部缓存提供程序的 ASP.NET MVC OutputCacheAttribute