我有兴趣为即将到来的项目使用Object-Relational Mapping包。该项目将作为ASP.NET应用程序开始,但将具有许多最终将与WinForms应用程序共享的功能。任何人都可以建议一些好的,免费的ORM包在ASP.NET和WinForms情况下都能很好地工作吗?
答案 0 :(得分:11)
SubSonic并不像nHibernate那样广泛;相反,它是每个表数据访问层的直接Active Record 1类。
一些功能是查询工具,执行存储过程的能力和ASP.net中的脚手架应用程序。您可以在30分钟或更短的时间内启动并运行,只需很少的学习曲线和Config.app文件中的最小配置。
答案 1 :(得分:6)
我总是建议Castle ActiveRecord。它是NHibernate之上的一层。它在你提到的两种环境中都很有用。
答案 2 :(得分:5)
答案 3 :(得分:5)
我赞成Fluent NHibernate,它允许您在强类型C#中创建映射,而不是使用普通的NHibernate XML文件。它也允许你混合和匹配(你可以在代码和XML中使用映射)。
有一篇很好的入门文章here。
答案 4 :(得分:4)
尝试,亚音速
你也可以使用Linq2Sql ORM。
答案 5 :(得分:3)
NHibernate的
答案 6 :(得分:2)
我没有调查ActiveRecord只是因为根据独立的服务器,它的执行速度不如许多其他ORM,并且它没有完整的Linq实现。
DataObjects.NET要求您的所有实体都是从特殊类派生的,但为了换取这一点,您可以获得可靠的性能和内存存储提供程序以及最完整的Linq实现。
我花了一个下午来筛选DBLinq的源代码。我的意见是不成熟的(许多Linq-To-SQL的功能根本没有实现),我不推荐它用于生产系统。
那么......如果你正在寻找一个免费,快速,开源,符合LINQ标准的ORM,那么DataObjects.NET是一个非常安全的选择。
答案 7 :(得分:2)
Checkout XmlDataMapper一个简单的免费ORM(LGPL许可证),与其他巨头相比,它的内存占用空间很小。 提供的示例项目应该足够好以便开始。
要集成XmlDataMapper,您需要做的只有4个小步骤
答案 8 :(得分:1)
尝试http://www.dbframeit.com提供的dbFrameIT。它非常易于使用,并提供免费的个人使用许可。
答案 9 :(得分:0)
我一直在使用SubSonic大约一年的时间用于少数几个ASP.NET应用程序以及一个WinForms应用程序。这是非常容易入手的,我还没有通过选择它“画到角落里” - 几乎总有一些方法可以做到你需要的,通常很容易。我估计它已经减少了我们开发时间的30%。不是真正的ORM工具,但可以提高生产力。
答案 10 :(得分:0)
它包含所有着名的.Net ORM工具
答案 11 :(得分:0)
我使用NHibernate和NHibernate Annotations。它运行良好 - 没有映射文件(entity.xml)。不幸的是,你必须在Log4net上需要一个小的xml文件。
答案 12 :(得分:0)
Habanero,伟大而强大的ORM。它是免费的(LGPL许可证),使用.net 2.0(这对我来说非常重要)并且有一个强大的工具可以从数据库生成模型(使用自定义类和属性名称,自定义验证等)。