![]() |
|
Модераторы: gambit |
![]()
|
|
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Я новичок в сфере серьезной разработки бизнес приложений.
Сейчас нахожусь на таком этапе своего развития, когда не хватает опыта для самостоятельного принятия решений, но шаблонный подход и боязнь написания очередного велосипеда не дают быстро и уверенно писать эффективный код. Поделитесь своим опытом эффективной организации доступа к данным из РБД, в приложениях на .NET Framework. Существует огромное множество различных библиотек, которые позволяют завернуть кортежи в объекты, помимо встроенного генератора в вижуал студии. Совсем недавно узнал о существовании Microsoft Enterprise Libriairy 5.0, про шаблон ActiveRecord, про Data Domain Development и сейчас нахожусь в состоянии не способности принять решение... Посмотрел как реализован доступ к базе в GOF Patterns in Action 3.5 - тот еще велосипед. Какие библиотеки и методики используются при разработке современных бизнесс приложений у вас на практике? Как вы работаете с БД? Можно ли использовать классы которые генерирует студия для работы с другой базой? Как эффективно использовать автоматически сгенерированные датасеты? Используете ли вы синглтон с открытым и заполненным датасетом (аля делфи стайл)? P.S. У меня давно созрел этот вопрос, все руки не доходили его запостить, на самом деле буду рад любому совету который имеет отношение к разработке доступа к БД....... |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 1 Всего: 28 |
Приветствую. Как вариант можешь глянуть в сторону NHibernate
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Решений много, и если я правильно понял, то все ORM системы позволяют менять СУБД изменением конфига.
В чем профит тогда от использования EntLib.DataAccess. Хотя... Там же тоже есть возможность спроецировать кортеж в объект, причем довольно гибкая, если я правильно помню, через юнити там можно очень красиво это все завернуть в свои классы, хотя пугали необходимостью написания своих мапперов для баз не поддерживающих чето-чето( забыл лол). Если есть минутка, опишите процесс организации доступа к БД который используете вы CYBERDREAM при производстве реальных проектов, бывали ли ситуации, когда приходится прикручивать свои костыли. Как обстоят дела с валидацией на стороне клиента в NHibernate? |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 1 Всего: 28 |
Ответить не смогу сейчас, т.к. практического опыта нет. Вот со след. недели переводят в др. отдел, там и буду познавать все вкусности и не вкуснисти хибернэйт
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Как-то тихо тут. Тогда я расскажу как сделал я.
Есть несколько проектов в солюшене, которые работают с базой данных, для каждого проекта создал датасет. На форме-клиенте создается экземпляр датасета и набор тейбл адаптеров, которые при открытии формы загружают данные в таблицы датасета. Со временем датасет начинает разбухать, приходится делить его на несколько частей и тд. и тп. На формах соответственно растет кол-во адаптеров и проект начинает вонять. Что я сделал не так? Прочел цикл статей Idsa по ORM. Все довольно симпатично выглядит. А каково применение этих шаблонов из Entity Framework на практике? |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 8 Всего: 118 |
ORM не панацея... маппинг зачастую не упрощает жизнь. Например поддержка актуальной информации в кеше (в вашем случае в датасете) уже большая проблема (а в случае длинных транзакций вообще беда)...
Разбейте ваше решение на проекты: p.data - POCO \ DTO для ваших данных p.data.db - собственно тут используйте всякие вкусности вроде ORM-ов, вкупе с автомаппером\emitMapper под маппинг p.data.config - для конфигурации (просто для удобства). тогда вы не думаю что запутаетесь.... Сейчас майкрофот активно заналась перетягиванием людей на EF-ок, говоря нам вкусные вещи вроде "code first".. я лично сторонник этого метода, но пока не заметил сильно удобных вещей в конкретно этом направлении... может и допилят еще.. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |