Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Я сторонник database first при работы с EF. Хочу написать учебный пример asp mvc. Во всех туториалах, которые я читал, используется подход code first. Архитектура приложения из двух проектов: domain и webUI. В domain-е модель edmx. В webUI ссылка на domain. В domain-е в репозитарии идет работа с БД, соответственно тут и должны быть строка соединения (при генерации edmx строка соединения прописалась в App.config). При компиляции ругается на отсутствии строки в Web.config. Где (в каком проекте) должна быть строка соединения? P.S надеюсь не криво выразился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2015, 20:59 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Sliva, в обоих. В domain для работы дизайнера EF. В webUI для приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2015, 23:00 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
bazile, Ну так конфликт коннекшенов же. Компилятор просит определиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 12:41 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Sliva, при чем здесь компилятор? Я имею в виду хранение строки подключения в файле app.config до которого компилятору нет никакого дела. А ты что имеешь в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 12:59 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
bazile, Ой, да, попутал. Ошибка в рантайме, была. Помудрив с файлами конфигурации - твой совет оказался верным. Спасибо. Возник другой вопрос. Если у меня будет тестовый сервер, мне так же придется 2 файла поддерживать. Как бы централизовать строку соединения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 13:10 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Sliva, конфиг у тебя будет ровно один - web.config приложения. Врядли ты будешь менять строку подключения настолько часто что две строки соединения создадут проблему. Тем более что на этапе разработки и на этапе исполнения могут понадобиться разные строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 15:28 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
bazile, Ок, ясно. Еще ситуация. В модели есть внешние ключи. Как передать в представление модель и значение по внешнему ключу? Создать такую модель (по сути одну из двух), заполнять в domain и передавать ее в представление? Или есть еще решения? C ViewBag неудобно, + "склейка в представлении". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 20:43 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Slivabazile, Ок, ясно. Еще ситуация. В модели есть внешние ключи. Как передать в представление модель и значение по внешнему ключу? Создать такую модель (по сути одну из двух), заполнять в domain и передавать ее в представление? Или есть еще решения? C ViewBag неудобно, + "склейка в представлении". Вопрос снят. Оказывается в представлении доступны навигационные свойства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 21:46 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Гибче будет, если использовать POCO и CRUD модель между View и EF/Direct Database EF маппишь на POCO через Automapper и отдаешь во View ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 23:22 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
AlexKuk, почитаю. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 23:36 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Вместо POCO я имею ввиду DTO ))) Сейчас запутаешься, наверно, сорри Примерно так: http://stackoverflow.com/questions/1051182/what-is-data-transfer-object Command objects has validation JSR 303 annotations but model objects may not. So i use command object for create/update like operations. For Create, Update like operations View --(Command/Form)--> Controller --(Model)--> Service --(Model)--> Repository For List, Show like Operations Repository --(Model)--> Service --(Model)--> Controller --(DTO)--> View ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 23:46 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Здесь можно посмотреть общие принципы архитектуры сайта на asp.net mvc A demo web app for demonstrating ASP.NET MVC 4 and EF 5 Code First, and architectural practices. http://efmvc.codeplex.com/ Здесь можно посмотреть принцип маппинга EF на DTO и наоборот https://github.com/EgorBo/CrossChat-Xamarin.Forms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 23:57 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Я поступаю так. Удаляю коннекшен из обоих конфигов. И создаю 2 класса: 1ый DbConnectionHelper со статичной функцией ConnectionString() As String 2ой DbConfigurationHelper унаследованый от System.Data.Entity.DbConfiguration Как их создать видно в самом конфиге. Я покажу примеры но под рукой только на вб. DbConnectionHelper Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. DbConfigurationHelper Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вот так реализую Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 12:26 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Да и если сможете реализовать Section или реализовать это как-то подругому ... поделитесь пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 12:28 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем G, что-то я не понял в чём смысл этих классов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 14:33 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем GДа и если сможете реализовать Section или реализовать это как-то подругому ... поделитесь пожалуйста.Что реализовать-то, какой функционал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 14:36 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
skyANA, посмотрите еще раз первый пост от автора. он хочет иметь строку подключения в domane проекте. Смысл классов в том что когда создан dbcontext вашей базы данных в отдельном проекте (domane), то подключая этот проект к вашему основному проекту вам нужно перенести в app.config, web.config строку подключения итд... Создав эти классы у вас строка подключения остается в проекте с классами. Подключите Entity Framework и в app.config, web.config вы увидете Section. Его реализовать я не смог. Но все вроде работает и без него. Так часто бывает ... когда что-то разберешь а потом находятся лишнии детали. В этот раз у меня оказался лишним Section :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 00:07 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем G, так я и не понял, что Вы сделали и зачем. Захардкодили параметры подключения, потому как не смогли реализовать Section для работы с конфигурацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 09:06 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем G, рассмотрит ситуацию, когда есть локальный dev сервер, есть test сервер, есть prelive (stage) сервер и live (production) сервер. На каждом из них свои параметры подключения. Будете постоянно лазить в код, менять значения и пересобирать под тот сервер, куда сейчас надо опубликовать версию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 09:17 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
skyANAАртем G, рассмотрит ситуацию, когда есть локальный dev сервер, есть test сервер, есть prelive (stage) сервер и live (production) сервер. На каждом из них свои параметры подключения. Будете постоянно лазить в код, менять значения и пересобирать под тот сервер, куда сейчас надо опубликовать версию? а для хотфиксов стенд есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 10:35 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
hVosttskyANAАртем G, рассмотрит ситуацию, когда есть локальный dev сервер, есть test сервер, есть prelive (stage) сервер и live (production) сервер. На каждом из них свои параметры подключения. Будете постоянно лазить в код, менять значения и пересобирать под тот сервер, куда сейчас надо опубликовать версию? а для хотфиксов стенд есть? Есть :) У нас стендов гораздо больше, чем я тут расписал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 12:03 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
skyANAАртем G, рассмотрит ситуацию, когда есть локальный dev сервер, есть test сервер, есть prelive (stage) сервер и live (production) сервер. На каждом из них свои параметры подключения. Будете постоянно лазить в код, менять значения и пересобирать под тот сервер, куда сейчас надо опубликовать версию? Как вы указываете с каким сервером работать приложению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 14:53 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Посмотрите еще раз на код выше. В моем случае создается следующие методы Код: vbnet 1. 2. 3. 4. В зависимости от того какой конекшен мне нужен меняю в контексте Код: vbnet 1. 2. 3. 4. 5. 6. 7. Разница между Вашим и Моим подходом нет. Все равно вам нужно лезть в контекст и менять название коннекшена. Смысл всего это - это не хранить строку подключения в приложении в app.config или web.config, а хранить ее в DLL где контекст. Вроде бы логичнее ... контекст, модели, строка подключения в одном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 15:03 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем GskyANAАртем G, рассмотрит ситуацию, когда есть локальный dev сервер, есть test сервер, есть prelive (stage) сервер и live (production) сервер. На каждом из них свои параметры подключения. Будете постоянно лазить в код, менять значения и пересобирать под тот сервер, куда сейчас надо опубликовать версию? Как вы указываете с каким сервером работать приложению?Где скриптами публикации, где просто трансформация конфигов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 16:01 |
|
||
|
Connection string в mvc
|
|||
|---|---|---|---|
|
#18+
Артем GПосмотрите еще раз на код выше. В моем случае создается следующие методы Код: vbnet 1. 2. 3. 4. В зависимости от того какой конекшен мне нужен меняю в контекстеПлохое решение. Артем G Код: vbnet 1. 2. 3. 4. 5. 6. 7. Разница между Вашим и Моим подходом нет. Все равно вам нужно лезть в контекст и менять название коннекшена.Не придумывайте. Нам никогда не нужно лезть в контекст в отличае от Вас. Вообще у нас новые тестовые среды создают админы, они бы сразу в одно место послали, скажи им, что надо лазить в какой-то контекст, что-то там менять, пересобирать DLL :) Артем GСмысл всего это - это не хранить строку подключения в приложении в app.config или web.config, а хранить ее в DLL где контекст. Вроде бы логичнее ... контекст, модели, строка подключения в одном месте.Вообще не вижу логики, просто лично Вам так показалось удобнее. А по паттернам необходимо соблюдать persistence ignorance :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39049321&tid=1356218]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 376ms |

| 0 / 0 |
