Легкие альтернативы NHibernate

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

17
задан Gray 25 March 2011 в 12:51
поделиться

5 ответов

Вообще говоря, чтобы Ваш бэкенд базы данных работал с .NET, Вам нужен поставщик ADO.NET для него.

Для Доступа MS (Струя), Поставщик поставляется с .NET. Для SQLite существует автономный Поставщик ADO.NET.

Что касается lib уровня доступа к данным, если Вы хотите некоторую абстракцию по ADO.NET:

Все, что они работают хорошо стартовые с платформой 2.0 и.

В основном, Вы выбираете (и существует большой выбор)

2
ответ дан 30 November 2019 в 11:38
поделиться

Для легкого ORM, который работает хорошо и только требует единственной сборки, почему бы не испытать Lightspeed от Mindscape. Это не открытый исходный код, однако источник доступен, и это по умеренной цене - риск с большей частью ORM's, которые не хорошо приняты, конечно, качество и уровень поддержки, и существует очень немного других ORM's с открытым исходным кодом, которые стоит обеспокоиться в пространстве .NET в данный момент.

из-за Вашей неприязни к зависимостям NHIBERNATE это кажется, что у Вас нет потребности в платформе журналирования или каком-либо из фасетов проекта замка т.е. МОК, Монорельсовой дороги и т.д., Вы рассмотрели, возможно, просто взятие абсолютного минимума требований NHibernate (log4net и наборы Iesi я верю, и динамический прокси из проекта замка?) и выполняющий ILMerge по ним для консолидации их в единственный блок - мог бы взять немного игры, но это не слишком твердо - или альтернативно Вы могли просто вытянуть исходный код для каждого из этих проектов в сделанный на заказ из NHibernate, который Вы поддерживаете для своей организации, которая обрезает функции, не требуемые Вашим проектом/организацией - это не как hard/akward, поскольку это звучит, и я сделал что-то вдоль этих строк для одного проекта, где мы хотели к преимуществу ORM, но должны были уменьшить размер распределенных файлов/установщика.

Также - Вы, возможно, способный объяснить, что Вы чувствуете, слишком "тяжело" о базирующемся решении Nhibernate..., по моему опыту, это - довольно легкая платформа ORM по сравнению с некоторыми.

8
ответ дан 30 November 2019 в 11:38
поделиться

некоторые альтернативы:
- ActiveRecord - это использует nhibernate.dll в фоне, но конфигурация реализована через атрибуты. Это похоже на облегченную версию nhibernate
- Дозвуковой
- CoolStorage.NET - я использовал его много с маленькими проектами. Работы хорошо с количеством dbs

2
ответ дан 30 November 2019 в 11:38
поделиться

Вот большой список альтернатив, которые я бы порекомендовал:

  • Coolstorage
  • SOODA
  • ODX
  • Lightspeed (бесплатно для 8 объектов или меньше)

Эти 4 являются самыми легкими. Subsonic, ActiveRecord и другие предназначены для больших систем. Они отлично работают на небольших системах, но (по крайней мере, для ActiveRecord) поставляются с огромным списком зависимостей и избыточностью для небольшой системы. Я бы выбрал Lightspeed и скажу, что под 8 объектами - это небольшая система, и простое использование NHibernate, потому что оно широко распространено, хорошо для масштабирования, но в краткосрочной перспективе не имеет смысла - и наличие слоя между ORM и вашими потребителями может работать в любом случае.

1
ответ дан 30 November 2019 в 11:38
поделиться

LINQ к SQL мог быть хорошей альтернативой для "поднимания" систем ORM при использовании его правильно.

0
ответ дан 30 November 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: