powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Оптимизация маппинга
22 сообщений из 22, страница 1 из 1
Оптимизация маппинга
    #37208765
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу систему, прикладная в доску (агрегирует данные с производственных с танков, бухгалтерш и манигеров)

Задолбался рисовать формы, ладно сам сделал формо построитель, с экономил кучу времени. А вообще по сути это востребованная проблема, неужели нету под .NET средств генерации окон как допустим в Symfony (PHP). С БД общаюсь через NHibernate поэтому последние 2 дня уходили на точтобы
Создать Форму

Щелкать по нем мышей дабы создался метод загрузки

Написание кода лапши
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
// Установка обработкчиков событий
            tbTitle.TextChanged += (x, y) => _target.Title = tbTitle.Text;
            cbContractorType.SelectedIndexChanged += (x, y) => _target.ContractorType = cbContractorType.SelectedIndex;
            tbFullTitle.TextChanged += (x, y) => _target.Title = tbFullTitle.Text;
            tbINN.TextChanged += (x, y) => _target.INN = tbINN.Text;
            // Для физ. лица
            dtpBirthDate.ValueChanged += (x, y) => _target.birthDate = dtpBirthDate.Value;
            tbPassportSeria.TextChanged += (x, y) => _target.PassportSeria = tbPassportSeria.Text;
            tbPassportNumber.TextChanged += (x, y) => _target.PassportNumber = tbPassportNumber.Text;
            dtpPassportDateRegistred.ValueChanged += (x, y) => _target.PassportDateRegistred = dtpPassportDateRegistred.Value;
            tbPassportOrganizationRegistred.TextChanged += (x, y) => _target.PassportOrganizationRegistred = tbPassportOrganizationRegistred.Text;
            tbRegistredPassportAddress.TextChanged += (x, y) => _target.RegistredPassportAddress = tbRegistredPassportAddress.Text;
            // Для юр лица
            tbOgranizationJuridicalAddress.TextChanged += (x ,y) => _target.OgranizationJuridicalAddress = tbRegistredPassportAddress.Text;
            tbOrganizationMainBankAcouuntNumber.TextChanged += (x, y) => _target.OrganizationMainBankAcouuntNumber = tbOrganizationMainBankAcouuntNumber.Text;
            tbOrganizationKPP.TextChanged += (x, y) => _target.OrganizationKPP = tbOrganizationKPP.Text;
            tbOrganizationOGRNIP.TextChanged += (x, y) => _target.OrganizationOGRNIP = tbOrganizationOGRNIP.Text;
            tbOrganizationIFNS.TextChanged += (x, y) => _target.OrganizationIFNS = tbOrganizationIFNS.Text;
            tbOrganizationOKATO.TextChanged += (x, y) => _target.OrganizationOKATO = tbOrganizationOKATO.Text;
            tbOrganizationOKPO.TextChanged += (x, y) => _target.OrganizationOKPO = tbOrganizationOKPO.Text;
            dtpOrganizationSvidOGosRegistraciiDateRegistred.ValueChanged += (x, y) => _target.OrganizationSvidOGosRegistraciiDateRegistred = dtpPassportDateRegistred.Value;
            tbOrganizationSvidOGosRegistraciiNumber.TextChanged += (x, y) => _target.OrganizationSvidOGosRegistraciiNumber = tbOrganizationSvidOGosRegistraciiNumber.Text;
            tbOrganizationDirector.TextChanged += (x, y,) => _target.OrganizationDirector = tbOrganizationDirector.Text;

Потом на кнопочке все это сохранять. Может кто знает что еще можно использовать? Может есть обвеска хибернейта какая нибудь чтобы генерить формы. Проблема еще в том что эти данные должны показываться в табличной части поэтому я создал еще одну сущность которая хранить в себе описание колонки и самой таблицы в целом и при выводе формы все это само обвешивается , скрывает не нужные колонки, автоматически ресайзит важные, подсвечивает там и . д.

+ Как средствами NHibernate получить информацию из XML конфиге, дело в том что там храниться максимальная длинна строки что важно при генерации формы добавления / редактирования.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37209184
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilya,

1. Из содержания темы не понял, где маппинг? И что вы собрались в нём оптимизировать?
2. Почитайте что-нибудь про databinding что ли...
3. Чтобы получить метаданные NHibernate ковыряйте Configuration.ClassMappings
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37210507
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,

1. Маппинг в смысле того что имея на руках информацию об объекте в NHibernate можно автоматом генерировать окна для добавления , редактирования сущностей (типа как 1с). Я их сам так и генерирую эти формы. Меня интересует существуют ли готовые решения подобного типа.

2. Спасибо, почитаю
3. Спасибо!
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215206
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень волнует эта тема. Я написал свою длл которая по отмапленному классу строит окна и кастомизирует таблицу.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215222
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilyaОчень волнует эта тема. Я написал свою длл которая по отмапленному классу строит окна и кастомизирует таблицу.
Вы о чём? Имхо, то, что Вы предлагаете любой второгодник (пошутил - второкурсник) за полчаса сделает.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215225
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, словом PHP здесь не следует бросаться. Некоторые местные мемберы вполне его используют.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215274
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написание кода лапши
в таком коде память течь будет просто бочками
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215284
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilya,

Чем волнует? Вопросы? Предложения?
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215574
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeКстати, словом PHP здесь не следует бросаться. Некоторые местные мемберы вполне его используют.

Так, и я его использую. Тем более что Symfony очень мощьный фреймворк. Я привел его исключительно в пример, Там в процессе маппинга аавтоматом создаются все формы.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215575
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВестникНаписание кода лапши
в таком коде память течь будет просто бочками


Знаю, надежда на Гарбейдж Коллектор и на мощьные процы
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215583
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeglilyaОчень волнует эта тема. Я написал свою длл которая по отмапленному классу строит окна и кастомизирует таблицу.
Вы о чём? Имхо, то, что Вы предлагаете любой второгодник (пошутил - второкурсник) за полчаса сделает.

Да не спорю, но не каждый второгодник скурпулезно проставит проверки. Также кросс типы (другие объеткы), тотже самый тип Image нхибрнате нативно не поддерживает. Да много еще туда можно засунуть, описания колонок, названия объектов, привязки выше БД и т.д.

Текущий проект которым занимаюсь сордержит около 500 типов которые храняться в БД причем меньше - тяжело, долго и жутко неудобно. Сейчас имея почти одинаковые конфиги для .NET и Java я вроде еще могу все удержать между тонкими клиентами Java и толстыми на шарпе. Но чем больше обрабатываю типов тем больше приходится делать костылей (писатьсвои UI, создавать интерфейсы и т.д.)


Надеюсь корректно описал если будут вопросы - задавайте. Если кому нужна такая библиотека, выложу как только допишу документацию, мне кажется для прикладного уровня она востребована.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37215584
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorglilya,

Чем волнует? Вопросы? Предложения?

Ответил выше
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220162
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу решений таких готовых нету, либо я неправильно составил вопрос
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220276
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilya,

покажи, какие формы получаются
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220277
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

випрос формы генерирует налету, только без хибернейтов всяких
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220294
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот формы какие генерятся (счас начнется :))
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220312
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosвот формы какие генерятся (счас начнется :))

Не такие крутые конечно, примерно как в адинэс.

Оффигеть!!!!!!!!! И это на .NET ? А где таких контролов отсыпать можно, челюсть не закрывается, не девекспресс точно
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220316
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,

випрос формы генерирует налету, только без хибернейтов всяких

В качестве входного параметра указывается typeof(Тип замапленного класса) + в БД (Сейчас уже в отдельно .dat файле) хранятся описания параметров (либо в самом классе через ComponentModel). Если в классе прописсаны ссылки на другие классы то по ним генерятся контролы которые подгружают этот тип как таблицу или список.
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220320
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilya,

випрос генерирует по своим метаданным и пользовательский интерфейс и БД.
как раз все компоненты из девекспресс :)
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220334
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosglilya,

випрос генерирует по своим метаданным и пользовательский интерфейс и БД.
как раз все компоненты из девекспресс :)

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

У тебя метаданные описывают правила построение окна (вплоть до групбоксов (я так понимаю "Плановые даты" и "Фактические даты" это красивые групбоксы))?

Могу я еще пару вопросов в личке задать ? Если не напрягу особо конечно, все что у меня наболело - на скрине так красиво разрисовано .

Зачетный интерфейс, красиво.. эх
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220345
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glilya,

форма воще никак не описывается, она целиком генерируется из описания метаданных, а там нет ничего про интерфесные элементы
да там группбоксы
дело в том что пользователь сам создает эти красивые группоксы или это создается для ролей пользователей модельщиком, а пользователь меняет как хочет)

пиши конечно
...
Рейтинг: 0 / 0
Оптимизация маппинга
    #37220361
glilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, отписался на мыло
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Оптимизация маппинга
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]