Лучшие свободные инструменты ORM для использования с.NET 2.0/3.5 [закрытый]

ваше решение верное, вы также можете делегировать handleSubmit родительскому компоненту, тогда, если у вас есть ошибка, вы отображаете компонент Snackbar, в противном случае вы отображаете компонент Form.

В вашем примере, если вы не хотите публиковать сообщение об ошибке, вы можете деструктурировать объект state для управления свойствами, которые вы хотите отправить.

handleSubmit = (event) => {
  const {email, password} = this.state;
  event.preventDefault()
  //api call here

  onFormSubmit({email, password})
    .then(() => history.push('/teams'))
    .catch(e => this.setState({error: e})
}
11
задан Chris 15 October 2008 в 20:07
поделиться

12 ответов

SubSonic не так обширен как nHibernate; скорее это - прямой Активный Рекордный 1 класс на таблицу Data Access Layer.

Некоторыми функциями является инструментальное средство формирования запросов, способность выполнить хранимые процедуры и приложение лесов в ASP.net. Можно быть в порядке в течение 30 минут или меньше с крошечной кривой обучения и минимальной конфигурацией в файле Config.app.

11
ответ дан 3 December 2019 в 01:34
поделиться

Я всегда рекомендую замок ActiveRecord. Это - слой сверху NHibernate. Это работает отлично в обеих средах, которые Вы упомянули.

6
ответ дан 3 December 2019 в 01:34
поделиться

nHibernate работает на меня, но все это зависит от того, что Вы после. Много людей не хочет спускаться по полному DDD и маршруту поблочного тестирования. Они просто хотят, чтобы что-то простое отобразило их базу данных на объекты сделать код немного более хорошим. Если это так, затем посмотрите на Дозвуковой, а также возможно легче начать.

5
ответ дан 3 December 2019 в 01:34
поделиться

Попробуйте, дозвуковой

и можно использовать Linq2Sql ORM также.

4
ответ дан 3 December 2019 в 01:34
поделиться

NHibernate

3
ответ дан 3 December 2019 в 01:34
поделиться

Я использовал SubSonic приблизительно в течение года теперь для горстки приложений ASP.NET, а также приложения WinForms. Чрезвычайно легко начать с, и я еще не "поставился себя в безвыходное положение" путем выбора его - существует почти всегда некоторый способ сделать то, в чем Вы нуждаетесь, обычно легко. Я оцениваю, что это сбрило 30% нашего времени разработки. Не истинный инструмент ORM, но обеспечивает большое повышение производительности.

0
ответ дан 3 December 2019 в 01:34
поделиться

См. Этот Список инструментов ORM ".Net"

Он содержит все известные инструменты ORM .Net

0
ответ дан 3 December 2019 в 01:34
поделиться

Я предпочитаю Fluent NHibernate , который позволяет вам создавать сопоставления в C # строгого типа вместо использования обычных XML-файлов NHibernate. Он также позволяет смешивать и сопоставлять (сопоставления могут быть в коде и в XML).

Здесь есть хорошая статья для начала работы .

5
ответ дан 3 December 2019 в 01:34
поделиться

Я исследовал ActiveRecord не просто потому, что, по мнению независимых серверов, он не работает так быстро, как многие другие ORM, и не имеет полной реализации Linq.

DataObjects.NET требует, чтобы все ваши сущности были производными от специальных классов, но взамен вы получите респектабельную производительность и такие плюсы, как хранение в памяти поставщики и наиболее полная реализация Linq идет.

Я провожу день, просматривая исходный код DBLinq. Мое мнение заключается в том, что он незрелый (многие функции Linq-To-SQL просто не реализованы), и я бы не рекомендовал его для производственных систем.

Так что ... если вы ' ищите бесплатный, быстрый, открытый исходный код,

2
ответ дан 3 December 2019 в 01:34
поделиться

Я использую аннотации NHibernate и NHibernate. Он работает хорошо - без файлов сопоставления (entity.xml). К сожалению, это необходимо в Log4net, для которого требуется крошечный файл xml.

0
ответ дан 3 December 2019 в 01:34
поделиться

Хабанеро , великий и мощный ORM. Это бесплатно (лицензия LGPL), работает с .net 2.0 (это очень важно для меня) и имеет мощные инструменты для создания модели из базы данных (с настраиваемыми именами классов и свойств, настраиваемой проверкой и т. Д.)

0
ответ дан 3 December 2019 в 01:34
поделиться

Checkout XmlDataMapper простая бесплатная ORM (лицензия LGPL), которая оставляет меньше памяти по сравнению с другими гигантами. {{1} } Предоставленный образец проекта должен быть достаточно хорош, чтобы начать работу.

Для интеграции XmlDataMapper все, что вам нужно сделать, это 4 маленьких шага

  1. Создать бизнес-объект / DTO для таблиц
  2. Создать XML-файл с информацией о сопоставлении между таблицей и DTO.
  3. Укажите DTO и XML-файл в конфигурации.
  4. Просто вызовите DTOConverter.Convert (dataReader) и другие подобные методы, чтобы преобразовать запись вашей базы данных в DTO / Business Entity
2
ответ дан 3 December 2019 в 01:34
поделиться
Другие вопросы по тегам:

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