什么是一些好的实体框架替代品

时间:2009-12-03 17:33:18

标签: c# sql orm

我现在正在使用Entity Framework并且不断编写内联sql,因为Entity框架不支持全文搜索和其他功能。是否有ORM有许多支持高级查询的功能?我觉得如果我有时会写内联sql我也可以在内联sql中完成所有这些操作。这里有任何帮助

12 个答案:

答案 0 :(得分:12)

NHibernate是我喜欢的更大的OR / M替代品和开源之一。它可以做一些非常“先进”的事情,但学习曲线陡峭。

答案 1 :(得分:8)

  

我觉得如果我有时会写内联sql我也可以在内联sql中完成所有这些

真的?使用任何ORM时,您总是会遇到使用SQL或调用存储过程更好,更干净或更高性能的情况。你不应该盲目相信它在所有情况下都能为你做一切。

答案 2 :(得分:6)

看看:

答案 3 :(得分:5)

Mindscape LightSpeed是.NET的o / r映射器supports full text search(通过Lucene但可扩展,因此您可以添加自己的)。

它还支持LINQ,Visual Studio integrated designer具有完整的模式循环跳过,因此您可以先进行模型优先或数据库优先 - 以您喜欢的方式工作: - )

还有一个免费版本,您可以用它来决定它是否适合您。

我希望有所帮助。

答案 4 :(得分:5)

您可能会看CodeFluent Entities,但您需要了解它并非内部依赖任何ORM或第三方工具。

实体框架是一个ORM,而CodeFluent实体是一个完整的模型优先 软件工厂。它使用自然和可视化的建模方法(如Entity Framework并集成到Visual Studio中),可以生成数据库脚本,面向对象的数据层 - 代码(C#,VB),Web服务甚至UI组件。

答案 5 :(得分:4)

大多数ORM仍然需要一些内联SQL。 NHibernate,Linq 2 Sql等不支持开箱即用的全文搜索(NHibernate有NHibernate.Search使用Lucene.NET执行全文搜索,Linq 2 Sql可以访问你可以创建的存储过程使用全文检索)。

这并不意味着您应该完全使用ORM废弃。有一个 ton 的重复管道代码,ORM可以帮助您免于编写,并且一般用例都可以相对容易地执行(例如CRUD操作)与任何ORM。

答案 6 :(得分:3)

您可以查看LLBLGen Pro或Telerik的OpenAccess,但NHibernate将成为周围最大社区的解决方案。

答案 7 :(得分:3)

我是Rob Conery的SubSonic粉丝。它很简单,易于设置和使用。

答案 8 :(得分:2)

与大多数人一样,我建议使用NHibernate,但您可能希望将其与CastleProject's ActiveRecord实现结合使用。 NHibernate本身可能需要一些习惯,但是当你在它上面抛出ActiveRecord时,事情变得容易多了。我能够很快地完成EntityFramework-> NHibernate / ActiveRecord转换。

答案 9 :(得分:1)

借调其他人所说的,nHibernate。另外,我发现this link:全文搜索和nHibernate。

答案 10 :(得分:0)

你看过nHibernate吗?

如果您搜索nHibernate and full text search,您会想出各种链接,讨论该特定类型的搜索实施。

答案 11 :(得分:0)

尝试使用nHibernate