Комментарии 8
Вопрос насчет базы — вы начали с Code First, но зачем? Есть же Database First (причем этим список не оканчивается, есть еще Model First), спокойно бы работали с текущей структурой… Просто я так понимаю, что довольно утомительно руками писать однотипный код для десятков сущностей.
Насчет ConnectionString'ов — есть хорошая практика сначала сделать подключение (в Server explorer), а потом просто копировать connection string для него. Довольно удобно.
Насчет ConnectionString'ов — есть хорошая практика сначала сделать подключение (в Server explorer), а потом просто копировать connection string для него. Довольно удобно.
+3
И насчет миллионов include — больше 5 уже не очень хорошо, а начиная с 10 начинаются очень серьезные проблемы с производительностью. Ну и я не помню, Single() может выполняться не в базе, а на клиенте. Когда запрос корректный и возвращается одна запись — то всё хорошо. Но если случайно с условием что-то случится, то будет возвращаться вся база, и только после загрузки всей БД код проитерируется до второй записи и упадет.
Сложные запросы с большим числом инклюдов, нетривиальной работы и т.п. лично я предпочитаю оформлять в виде хранимок, с говорящими именами. Все-таки работа с данными должна происходить в базе, а клиенту предоставлять только удобное АПИ + маленькие объектики по запросам, а не таблицы со всеми кишками наружу.
А вообще спасибо за статью, всё хочу мигрировать на MVC, да времени не хватает…
Сложные запросы с большим числом инклюдов, нетривиальной работы и т.п. лично я предпочитаю оформлять в виде хранимок, с говорящими именами. Все-таки работа с данными должна происходить в базе, а клиенту предоставлять только удобное АПИ + маленькие объектики по запросам, а не таблицы со всеми кишками наружу.
А вообще спасибо за статью, всё хочу мигрировать на MVC, да времени не хватает…
0
Насчет стратегии с базой, вы имеете в виду, что можно было строить проект сразу на старой базе? Я не уверен, что это бы получилось, там имена столбцов в таблицах русские, есть лишние данные, кое-что надо было поменять… А выбор между писать код или делать сначала новую базу — лично мне описывать Code First приятнее, хотя абсолютно согласен, что скучновато.
Насчет хранимых процедур и connectionString — спасибо, буду иметь в виду. Насчет Single действительно надо уточнить. Я просто решил, что один большой запрос — по идее должно быть лучше, чем много маленьких.
Насчет хранимых процедур и connectionString — спасибо, буду иметь в виду. Насчет Single действительно надо уточнить. Я просто решил, что один большой запрос — по идее должно быть лучше, чем много маленьких.
0
Подгрузить их несложно, а вот передать в представление нельзя — она принимает только один параметр — модель
Есть такая штука как ViewBag. оно нетипизировано, так что можно пихать что угодно и в представлении его приводить к нужному типу.
я так передавал как раз всякие списки например, для полей.
0
НЛО прилетело и опубликовало эту надпись здесь
По поводу Include, в Вашем случае можно обойтись и без них потому, что у Вас включен LazyLoad, который подтягивает все зависимости сущности автоматически при загрузке этой сущности в контекст. Его я бы рекомендовал Вам выключить и уже тогда от них будет толк (в контексте он включен по умолчанию). Для выключения LazeLoading добавьте в свой конструктор: this.Configuration.LazyLoadingEnabled = false;
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Мое знакомство с ASP.NET MVC в Visual Studio 2015 на примере построения прототипа МИС