与 .NET 2.0/3.5 一起使用的最佳免费 ORM 工具 [关闭]
Posted
技术标签:
【中文标题】与 .NET 2.0/3.5 一起使用的最佳免费 ORM 工具 [关闭]【英文标题】:Best free ORM tools to use with .NET 2.0/3.5 [closed] 【发布时间】:2008-10-15 20:07:13 【问题描述】:我有兴趣在即将进行的项目中使用对象关系映射包。该项目将作为一个 ASP.NET 应用程序开始,但将具有最终将与 WinForms 应用程序共享的许多功能。任何人都可以推荐一些在 ASP.NET 和 WinForms 情况下都很好用的免费 ORM 包吗?
【问题讨论】:
查看 Telerik OpenAccess。支持超过 20 个数据库。而且它也是免费的!有 VS 2010 Designer 就像 EF 5.0 [link]telerik.com/products/orm.aspx 【参考方案1】:SubSonic 没有 nHibernate 广泛;相反,它是每个表数据访问层的直接 Active Record 1 类。
其中一些功能是查询工具、执行存储过程的能力和 ASP.net 中的脚手架应用程序。您可以在 30 分钟或更短的时间内启动并运行,只需极短的学习曲线和 Config.app 文件中的最少配置。
【讨论】:
有了这个:valueinjecter.codeplex.com/… 你可以在 3 分钟内启动并运行 @OOmu - 几周前我在看 valueinjecter。它看起来很有希望。你有直接的经验吗?【参考方案2】:我总是推荐Castle ActiveRecord。它是NHibernate 之上的一层。它在您提到的两种环境中都非常有效。
【讨论】:
【参考方案3】:nHibernate 对我有用,但这完全取决于你的追求。很多人不想走完整的 DDD 和单元测试路线。他们只是想要一些简单的东西来将他们的数据库映射到对象以使代码更好一点。如果是这样的话,那么看看 Subsonic,它可能更容易上手。
【讨论】:
【参考方案4】:我喜欢Fluent NHibernate,它允许您在强类型 C# 中创建映射,而不是使用普通的 NHibernate XML 文件。它也可以让您混合和匹配(您可以在代码和 XML 中进行映射)。
有一篇不错的入门文章here。
【讨论】:
【参考方案5】:试试,亚音速
你也可以使用 Linq2Sql ORM。
【讨论】:
【参考方案6】:NHibernate
【讨论】:
【参考方案7】:我没有调查 ActiveRecord 只是因为根据独立的服务,它的执行速度不如许多其他 ORM 快,而且它没有完整的 Linq 实现。
DataObjects.NET 要求您的所有实体都派生自特殊类,但作为交换,您可以获得可观的性能和好东西,例如内存存储提供程序和最完整的 Linq 实现。
我花了一个下午来筛选 DBLinq 的源代码。我的意见是它不成熟(Linq-To-SQL 的许多功能根本没有实现),我不会推荐它用于生产系统。
那么...如果您正在寻找免费、快速、开源、符合 LINQ 的 ORM,那么 DataObjects.NET 是一个非常安全的选择。
【讨论】:
【参考方案8】:Checkout XmlDataMapper 一个简单的免费 ORM(LGPL 许可证),与其他巨头相比,它的内存占用量较低。 提供的示例项目应该足以开始使用。
要集成 XmlDataMapper,您只需 4 个小步骤
-
为表创建业务实体/DTO
使用表和 DTO 之间的映射信息创建一个 XML 文件。
在配置中指定 DTO 和 xml 文件。
只需调用 DTOConverter.Convert(dataReader) 等方法即可将您的数据库记录转换为 DTO/业务实体
【讨论】:
【参考方案9】:试试http://www.dbframeit.com 提供的dbFrameIT。它非常易于使用,并提供免费的个人使用许可证。
【讨论】:
【参考方案10】:我已经使用 SubSonic 大约一年了,用于少数 ASP.NET 应用程序以及一个 WinForms 应用程序。它非常容易上手,而且我还没有因为选择它而“陷入困境”——几乎总有一些方法可以做你需要的事情,通常很容易。我估计它已经将我们的开发时间缩短了 30%。不是真正的 ORM 工具,但可以极大地提高生产力。
【讨论】:
【参考方案11】:我使用 NHibernate 和 NHibernate 注释。它运行良好 - 没有映射文件(entity.xml)。不幸的是,您必须使用 Log4net,这需要一个很小的 xml 文件。
【讨论】:
【参考方案12】:Habanero,伟大而强大的 ORM。它是免费的(LGPL 许可),可与 .net 2.0 一起使用(这对我来说非常重要),并且具有从数据库生成模型的强大工具(具有自定义类和属性名称、自定义验证等)
【讨论】:
【参考方案13】:看到这个List of ORM tools ".Net"
它包含所有著名的 .Net ORM 工具
【讨论】:
以上是关于与 .NET 2.0/3.5 一起使用的最佳免费 ORM 工具 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .NET 2.0/3.5 中将(字符串)消息从一个线程异步排队到另一个线程?
无需单独安装或更新即可与 Windows xp、7、8 一起使用的最佳 .net 框架版本
使应用程序与多个 ado.net 提供商一起工作的最佳方法是啥?
与 ActiveMerchant 一起使用的最佳支付网关是啥?