Создать класс информации (обертки) из хранимой процедуры
-
23-09-2019 - |
Вопрос
Я работаю над важным проектом и пытаюсь ускорить этап разработки, используя codesmith для создания DAL бизнес-класса и информационного класса для таблиц моего проекта.
Существует около 50 таблиц с отношениями родитель-потомок многие-ко-многим, и для получения данных мне приходится кодировать несколько внутренних объединений в хранимых процедурах.Мне приходится объединять поля из многих таблиц, и это затрудняет работу с информационным классом.
Есть ли способ сгенерировать информационный класс из хранимых процедур или, точнее, есть ли способ проанализировать набор результатов хранимой процедуры и сгенерировать информационный класс со свойствами для каждого столбца в этом наборе результатов.
Пожалуйста, если кто-нибудь может дать мне несколько советов и рассказать, как этого добиться.С наилучшими пожеланиями
Решение
Вы можете легко генерировать код, используя шаблоны на основе хранимых процедур, которые предоставляются через коллекцию SchemaExplorer.CommandSchema.Кто-то написал полезную публикацию в блоге о том, как начать работу. http://jiangningtang.spaces.live.com/blog/cns!90A00B80F75CB859!210.entry.
Другие советы
Один трюк, который я использовал (и я больше не использую CodeSmith), заключался в создании представления или поддельной таблицы с полями, которые мне нужны в информационном классе.Направьте на него CodeSmith и создайте на его основе класс.
Другой способ обойтись — избегать информационного класса и некоторых пользовательских бизнес-объектов и создать собственный уровень данных — иногда в сложных проектах это проще.
У меня есть еще одно предложение: создайте библиотеку классов и добавьте к ней набор данных (набор типизированных данных, доступный в разделе «Данные» или добавьте новый элемент), удалите все свои SP и таблицы в контексте данных и скопируйте код cs из дизайнера;)
Я надеюсь, что это поможет вам.