![]() |
|
Модераторы: gambit |
![]()
|
|
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
Есть составное десктопное приложение WPF. Работаем с MSSQL через EF. EF сущности находятся в отдельном модуле (каждый модуль сборка) Data.dll. В отдельных модулях приходится работать с различными сущностями, сгенерированными EF с БД. Если меняем незначительно структуру БД приходится переписывать работу с данными во многих работающих модулях.
Как можно сделать так, чтобы написанный однажды модуль работал независимо от изменения данных. Ну хотя бы так, чтобы данных можно было менять только в одном месте. Как вариант определить сущности в сборке Data.dll, которые будут строится с сущностей EF. Но в таком случае теряем гибкость запросов. Как тут поступить? Как сделать независимость каждого модуля, кроме Data.dll, от изменения данных в БД и при этом сохранить возможность генерить эффективные запросы к БД? |
|||
|
||||
| erm0l0v |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: нет Всего: 1 |
Уходите от непосредственного использования сущностей сгенерированных в EF вне сборки Data.dll. Создайте свои сущности которые будут содержать внутри себя ссылку на сущность EF и делегировать функциональность. Но это все равно не спасет при глобальном изменении БД. Так как обычно БД меняется не просто сама по себе, а при изменении логики самого приложения. Кстати в этом и есть основная идея EF. Вы создаете просто сущности в вашем приложении а БД это все лишь инструмент призванный сохранить эти сущности во времени.
|
|||
|
||||
| Flass |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.5.2012 Репутация: нет Всего: нет |
Решил добавить свой вопрос сюда, так как он тоже связан с хранением данных.
Пишу на C# и столкнулся с проблемой. Есть документ XML. который представляет из себя вот что:
есть код, который должен вставлять в каждый полигон после тегов <coordinates> </coordinates> строку <altitude>relativeToGround</altitude> Повторюсь, нужно - в каждый полигон! Привожу код.
почему то, данный код вставляет элемент <altitude>relativeToGround</altitude> только в первый узел Polygon. Т.е. выходной файл выглядит так:
а мне нужно добавлять этот элемент в каждый узел Polygon. Как победить эту проблему? Абсолютно нет догадок почему так происходит. здесь
полигон берётся новый, но appendchild происходит только в первый! Как же так? Разве код var linearRingElement = polygon.SelectSingleNode(@"//opengis:LinearRing", xnm); не должен выбирать в каждом новом полученном полигоне свою точку вставки? |
||||||||
|
|||||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |