У меня есть вопрос.
Мой вопрос фактически расширяется от this one:
Коротко - что я хочу получить: 3 модели и 1 супер модель дляэто конкретный взгляд.Эта супер модель заполняет (правильно) IENumerable, IENumerable, IENumerable, чтобы использовать их в части View.(насколько я понимаю, по крайней мере ...)
В этой другой теме Дэн Ревелл предложил очень милое и элегантное решение, но это решение не извлекает данные из самой БД ...
Вопрос: Что нужно сделать, чтобы получить данные в этой модели из БД, а не из «новых» конструкторов экземпляров?
При использовании этого подхода пытались извлечь данные из DBContext.И у меня возникли некоторые проблемы) Я не могу понять, когда (или как) создать мой DBContext ... Или как получить доступ к тому, что создано приложением ...
Попытка принудительно создать его в Controller, как
using (var Db = new thetaskermvc.Models.TaskerDBContext())
{
var themodel = new thetaskermvc.Models.TotalView();
//Jobbers
themodel.Jobberz = new Dictionary<int, thetaskermvc.Models.Jobbers>();
var jobbers = from Jobbers in Db.Jobbers.OrderBy(g => g.jobb_name) select Jobbers;
foreach (Models.Jobbers ad in jobbers)
{
themodel.Jobberz.Add(ad.jobb_id,
new Models.Jobbers(ad.jobb_id, ad.jobb_name, ad.jobb_from, ad.jobb_carma, ad.jobb_status, ad.jobb_balance, ad.jobb_time));
}
if (themodel.Jobberz.Count == 0)
{
themodel.Jobberz.Add(-1, new Models.Jobbers(0, "NOTHING FOUND",DateTime.Now,0,"",0,0));
}
}
Но, как было создано таким образом, контекст прекращает свое существование (?) после передачи данных из контроллера - я не могу использовать его иначе, кроме как получить все данные внутри этого контроллера и заполнитьданные в модели путем прямого добавления в коллекции (в то время как использование IENumerable получит данные по требованию, насколько я получу).
Итак. Если не сложно, расскажите мне о -нормально ли использовать такой подход, или есть какой-то другой «общий» способ?Потому что это неуклюжесть - этот подход работает ...
PS Я совсем новичок в Аспе, но ...