Ответ 1
Взгляните на:
- Запросы LINQ в DataObjects.Net. Если вы интересны в самых сложных частях, начните с хвоста.
- Расширенный LINQ в DataObjects.Net. Там показаны некоторые базовые SQL-запросы.
Я использую Entity Framework сейчас и постоянно должен писать встроенный sql, потому что инфраструктура Entity не поддерживает полнотекстовый поиск и другие функции. Есть ли там ORM, который имеет много функций, поддерживающих расширенные запросы? Я чувствую, что если я собираюсь иногда писать встроенный sql, я мог бы также сделать все это во встроенном sql. Любая помощь здесь
Взгляните на:
NHibernate - одна из больших альтернатив OR/M и Open Source, которые мне нравятся. Он может делать некоторые "продвинутые" вещи, но имеет крутую кривую обучения.
Я чувствую, что иногда собираюсь писать встроенный sql, я мог бы все это сделать в встроенном sql
Серьезно? При использовании любой ORM вы всегда будете сталкиваться с ситуациями, когда лучше, чище или более эффективными, использовать SQL или вызывать хранимую процедуру. Вы не должны просто слепо верить, что это делает абсолютно все для вас во всех ситуациях.
Mindscape LightSpeed - это o/r mapper для .NET, который поддерживает полнотекстовый поиск (через Lucene, но расширяемый, чтобы вы могли добавить свой собственный).
Он также поддерживает LINQ, имеет интегрированный конструктор Visual Studio с полным отключением схемы, чтобы вы могли работать сначала с первой или первой базой данных - в зависимости от вашей фантазии: -)
Существует также бесплатная версия, которую вы можете использовать, чтобы решить, подходит ли она вам.
Я надеюсь, что это поможет.
Вы можете выглядеть CodeFluent Entities, но вам нужно понять, что он не полагается на ORM или сторонний инструмент.
Entity Framework - это ORM, тогда как CodeFluent Entities - полная модель программное обеспечение factory. Он использует естественный и визуальный подход к моделированию (например, Entity Framework и интегрирован в Visual Studio) и может генерировать сценарии базы данных, объектно-ориентированный уровень данных - код (С#, VB), веб-службы и даже компоненты пользовательского интерфейса.
Большинство ORM по-прежнему будут нуждаться в некотором встроенном SQL время от времени. NHibernate, Linq 2 Sql и т.д. Не поддерживают полный текстовый поиск из коробки (NHibernate имеет NHibernate.Search, который использует Lucene.NET для полнотекстового поиска, Linq 2 Sql имеет доступ к хранимым процедурам, которые вы можете создать, которые используют полнотекстовый поиск).
Это не означает, что вы должны отказаться от использования ORM, хотя. Там тонна повторяющегося сантехнического кода, который ORM может спасти вас от написания, а также общие случаи использования, относительно легко выполнить (например, операции CRUD) с любым ORM.
Вы можете посмотреть LLBLGen Pro или Telerik OpenAccess, но NHibernate будет решением с крупнейшим сообществом вокруг него.
Я поклонник SubSonic Роба Конери. Он был (был) прост и прост в настройке и использовании.
Как и большинство людей, я рекомендую NHibernate, но вы можете изучить его в сочетании с реализация CastleProject ActiveRecord. NHibernate сам по себе может немного привыкнуть, но когда вы бросаете ActiveRecord, все становится намного проще. Я смог быстро выполнить преобразование EntityFramework- > NHibernate/ActiveRecord.
Второе, что говорили другие, nHibernate. Плюс я нашел эта ссылка re: полнотекстовый поиск и nHibernate.
Вы посмотрели nHibernate?
Если вы ищете nHibernate и полнотекстовый поиск, вы придумаете множество ссылок, которые расскажут об этом конкретном типе поиска реализация.
Попробуйте с nHibernate