Существует ли ORM, который может динамически генерировать DAL из приложения .Net WinForms? - PullRequest
0 голосов
/ 24 мая 2009

Буду очень признателен за совет по странной спецификации.

У нас есть требование создать приложение, в котором пользователи могут перетаскивать типы полей на форму, чтобы они могли создавать свое собственное «приложение». У меня есть настройка внешнего интерфейса, но внутренняя проблема - большая проблема.

Существуют ORM прямого сопоставления и ORM обратного сопоставления, но я не нашел такого, который мог бы встраиваться в приложение и генерировать таблицы, отношения и т. Д. При запуске приложения пользователем. Конечно, если таблица, поле или другая сущность уже существует, она не будет перезаписывать их (и перезаписывать базовые данные).

ActiveRecord - самый близкий, который я нашел, но он основан на сети и не распространяется на среду WinForm. Я бы предпочел, чтобы наша команда не писала собственный DAL, не отлаживал его и т. Д., Когда существует ORM, который может это сделать.

Кто-нибудь знает о ORM, который может это сделать? Если нет, как бы вы решили решить этот кошмар в процессе создания?

Большое спасибо за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 24 мая 2009

Это неудачное приложение - если ваши пользователи захотят это сделать, они просто купят Visual Studio!

Это не очень хорошая позиция, потому что нет, я не знаю ни одного подходящего способа сделать это с ORM. К сожалению, если вы ищете это из-за давления графика, ваш проект может быть в беде.

0 голосов
/ 25 мая 2009

Теоретически вы можете использовать любой ORM, который может автоматически генерировать схему базы данных. Например, см. DataObjects.Net, он обычно генерирует и обновляет схему базы данных, используя постоянную модель, на основе постоянных классов и дополнительных пользовательских определений. Но я не могу себе представить, как будет работать все ваше приложение в этом случае ... так много потенциальных проблем.

0 голосов
/ 24 мая 2009

Хотя вы можете подумать о решении этой проблемы, построенном с помощью ORM, я не думаю, что это хорошая идея: эти инструменты предназначены для решения другого класса проблем. Единственный способ - создать приложение самостоятельно.

...