与MySQL良好配合的.Net ORM

6
我的C# Windows服务(它是一个服务,不是MVC Web应用程序!)需要与MYSQL数据库通信。为了简化我的数据层工作,我正在考虑使用ORM来实现这个目的。
那么,哪个.NET ORM最适合与MYSQL数据库一起使用?NHibernateSubsonicEntity Framework?LINQ2SQL?还是其他?
编辑:我使用.NET 3.5
编辑2:首选开源解决方案。
5个回答

7

我有点偏心,但我会选择NHibernate。通过微调,我已经成功地将相同的DAL代码应用于Access(用于CD交付)、Sql Server(用于企业)和MySql(只是为了好玩)。这是几年前的事情了,当时我确保字段/表名在所有环境中都是有效的,除此之外,NHibernate就完成了其余工作 - 简直太棒了。


1
我确实需要确保所有环境中的字段/表名都是有效的。能否详细说明一下,以便我知道如何避免这些问题... - Graviton
我曾经使用NHibernate与mySql5和4,所有操作都非常顺利。+1 - Brendan Kowitz
我在我的项目中使用了 NHibernate——感受非常棒! - Graviton
我们一直在使用Fluent NHibernate,它非常易于使用。 - ripper234

5

我不敢相信没有人提到Rob ConerySubSonic!! 这应该成为所有ORM用户必学的内容。当然,NHibernate有其支持者,出色的教程和很多优点。但是Subsonic也可以自动为您生成数据访问层,并让您专注于业务层、测试和展示层。


0

好的解决方案...但不幸的是它不是免费的。 - Graviton

0

对于mysql的具体细节,NHibernate在处理mysql中的零值日期时存在一些小问题。由于我只使用过MSSQL和postgres,所以无法确定是否需要担心这个问题。

如果您有Hibernate或其他来自Java或其他语言的ORM的经验,NHibernate或基于NHibernate的ActiveRecord将感觉非常熟悉。


-1

对于分层开发,我会避免使用实体框架或者LINQ to SQL。话虽如此,我并没有尝试过LLBLGen或NHibernate。


仅仅说这句话并没有太多价值,提供一个原因会更有帮助。 - Amc_rtty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接