带有 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 没有收到带有句点的 GET 请求

带有外部缓存提供程序的 ASP.NET MVC OutputCacheAttribute

使用带有 jquery ajax 的 ASP.NET MVC 验证?

带有 Jquery 模态形式的 asp.net MVC

ASP.Net MVC - 显示带有换行符的文本