Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Оптимизация маппинга / 22 сообщений из 22, страница 1 из 1
10.04.2011, 14:56
    #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
10.04.2011, 23:21
    #37209184
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация маппинга
glilya,

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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