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