У меня есть старое приложение VB6, которое я переписываю в .Net. Я не использовал пакет ORM ранее (будучи старомодным типом, который любит знать, какой SQL используется), но я видел хорошие отчеты о NNibernate, и я испытываю желание использовать его для этого проекта. Я просто хочу проверить, я не буду стрелять себе в ногу.
Поскольку мое новое приложение изначально будет работать вместе с существующим, любой ORM, который я использую, должен работать с существующей схемой базы данных. Также мне нужно использовать текстовый поиск SQL-сервера. Насколько я понимаю, LINQ to SQL не поддерживает текстовый поиск, поэтому это исключит его.
Приложение использует свой собственный метод распределения идентификаторов для новых объектов - позволит ли это NHibernate или оно ожидает использовать свои собственные механизмы?
Также я прочитал, что NHibernate делает кеширование. Мне нужно убедиться, что строки, вставленные вне NHibernate, сразу же доступны при доступе к базе данных из NHibernate и наоборот.
Есть 4 или 5 основных таблиц и 10 или около того вспомогательных таблиц. хотя пара основных таблиц содержит до миллиона строк, само приложение обычно возвращает только несколько строк. Пользовательская нагрузка низкая, поэтому я не ожидаю проблем с производительностью.
В настоящее время я не уверен, будет ли это ASP.NET или выигрышная форма, но в любом случае я буду ожидать использования привязки данных.
С точки зрения функциональности, приложение не является особенно сложным - бюджет для его повторной реализации составляет около 20 человеко-дней, поэтому, если я собираюсь использовать ORM, это должно быть то, что начнет довольно быстро окупаться. Точно так же я хочу, чтобы приложение было простым в развертывании и не требовало какой-то корпоративной инфраструктуры.
Будем весьма благодарны за любые мысли о том, подходит ли этот проект для NHibernate.