Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.10.2017, 11:12
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Добрый день! В прошлом посте ( http://www.sql.ru/forum/1274643/ef-database-first-kak-podkluchitsya-s-pomoshhu-sformirovannoy-stroki-podklucheniya ) я не без вашей помощи (спасибо!) подключил базу из сформированной в коде строки подключения. Подключение к серверу состоялось, но где теперь все таблицы? Как их найти? Ранее, когда строка была в App.config это делалось достаточно просто: Код: xml 1. 2. 3.
Код: c# 1. 2. 3. 4. 5.
Класс DbContext на этот случай имеет среди множества конструкторов один подходящий к данному случаю: " ... DbContext(DbConnection, DbCompiledModel, Boolean) Создает новый экземпляр контекста с использованием существующего соединения с базой данных и инициализирует его из заданной модели. " Вроде бы то, что надо (DbConnection уже имеется), но что такое DbCompiledModel не понимаю! Где взять или как сформировать не знаю. Выкрутиться можно: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Работает. Но, если в базе полсотни и более таблиц, то выписывать этот класс весьма тоскливо. Как быть? С уважением ВВГ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2017, 12:12
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, Что сказал Гугл на фразу Hello World EF? Или Demo EF? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2017, 12:20
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Petro123ValGer, Что сказал Гугл на фразу Hello World EF? Или Demo EF? Не понял, что вы имеете в виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2017, 13:30
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, У вас ошибка или необычный проект? Или это ваш первый проект? Я новую технологию изучаю делая Hello World. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.10.2017, 10:27
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, покажи свой класс MyProductShopEntities он же наследует от System.Data.Entity.DbContext ? тогда можешь сделать еще один конструктор и вызывать его со своим connString Код: c# 1.
и еще бросилось в глаза Код: c# 1.
если CustId это ключ в таблице Customers, то проще так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.10.2017, 09:55
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммист, Нашёл достаточно простое решение проблемы, о которой писал выше (как не выписывать заново все таблицы в файле контекста). Обратил внимание на то, что ранее, фигурально говоря, "пропустил мимо ушей". А именно то, что класс контекста (автогенерируемый при создании проекта) описывается как частичный (partial). Хоть и длинно, но приведу его: Код: c# 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.
Видно, что в конструктор класса (базовый класс) входит имя контекста ("MyProductShopEntities"), а ниже имеются все нужные сущности(таблицы). Мне и подумалось, а почему бы не соорудить вторую часть этого класса (естественно, partial) с конструктором, который принимает сгенерированную в коде строку подключения. Сказано сделано: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
И voila! Всё работает - и выписывать сущности не нужно, и контекст появился. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.10.2017, 11:01
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
это как раз то, что я тебе посоветовал)) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.10.2017, 11:05
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммист, чтобы не создавать второй класс, можно было дописать в Blah.Context.tt генерацию твоего конструктора Код: c# 1. 2.
и он бы появился в сгенерированном классе MyProductShopEntities ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.10.2017, 16:38
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммистпогроммист, чтобы не создавать второй класс, можно было дописать в Blah.Context.tt генерацию твоего конструктора Код: c# 1. 2.
и он бы появился в сгенерированном классе MyProductShopEntities Оччень интересно! А не могли бы вы по подробнее. Где об этом почитать? Не будет ли эта добавка автоматически стираться. В контексте об этом прямо говорится. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
С уважением ВВГ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.10.2017, 16:54
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGerНо, если в базе полсотни и более таблиц, то выписывать этот класс весьма тоскливо. Как быть? С уважением ВВГ А GenerateFromDb? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.10.2017, 17:32
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGerНе будет ли эта добавка автоматически стираться. В контексте об этом прямо говорится. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
С уважением ВВГ из какого файла этот текст? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.10.2017, 16:16
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Petro123ValGerНо, если в базе полсотни и более таблиц, то выписывать этот класс весьма тоскливо. Как быть? С уважением ВВГ А GenerateFromDb? Уже всё сгенерировано и одним из результатов этой генерации является стандартная строка соединения в App.config со значением "persist security info=True;". А мне этого не нужно, поскольку на SQL-сервер должны заходить разные пользователи с разными ролями. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.10.2017, 16:19
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммистValGerНе будет ли эта добавка автоматически стираться. В контексте об этом прямо говорится. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
С уважением ВВГ из какого файла этот текст? Из файла *.context.cs Мой пример см на рисунке. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.10.2017, 19:05
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, Мож я чего не понял, но этот парвметр меняют на нужный после разработки. В продакшене. Поэтому не понял, что ты мучаешься неделю. Наверно не тем путём пошёл. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.10.2017, 19:18
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, Т.е. ещё раз резюмируй. Тебя устраивает генерация всех моделей по существующей бд. Дальше только мелким напильником рихтуем. Так? Я тоже ленивый программист, и тоже люблю мало кода руками писать.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 09:31
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Petro123ValGer, Т.е. ещё раз резюмируй. Тебя устраивает генерация всех моделей по существующей бд. Дальше только мелким напильником рихтуем. Так? Я тоже ленивый программист, и тоже люблю мало кода руками писать.)) Ну, примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 10:15
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGer, Ок. А то у меня скоро проект именно DB главная и первичная (first). И не вижу пока твоих сложностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 15:43
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
ValGerпогроммистпропущено... из какого файла этот текст? Из файла *.context.cs Мой пример см на рисунке. читай внимательно я предлагал редактировать не *.cs, a MyProductShopModel.Context .tt ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 15:44
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Petro123ValGer, Мож я чего не понял, но этот парвметр меняют на нужный после разработки. В продакшене. Поэтому не понял, что ты мучаешься неделю. Наверно не тем путём пошёл. я уже тоже запутался, что хочет ТС но у него вроде там под каждого пользователя приложения свой ConnString задуман ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 17:14
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммист, Вроде бы это изврат в теме про ОРМ. В орм обезличенный анонимус))). Я тоже не в курсе что там у него. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 17:43
|
|||
---|---|---|---|
|
|||
EF DB First - как найти контекст при подключении из кода |
|||
#18+
Petro123погроммист, Вроде бы это изврат в теме про ОРМ. В орм обезличенный анонимус))). Я тоже не в курсе что там у него. я не понял, о чем ты а я про вот эту ветку http://www.sql.ru/forum/1274643/ef-database-first-kak-podkluchitsya-s-pomoshhu-sformirovannoy-stroki-podklucheniya ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2017, 18:09
|
|||
---|---|---|---|
EF DB First - как найти контекст при подключении из кода |
|||
#18+
погроммист, Тут у меня разрыв шаблона. )) По хиберу знаю, что он ходит под единой строкой коннекта, а внешняя либа уже делает права для юзверя. Как это в EF пока не знаю. Ладно, пусть автор проясняет. Если захочет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1349248]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
303ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 450ms |
0 / 0 |