Я вивчаю EF 5 і намагаюся зрозуміти причину передачі сховища з головного вікна (точку навантаження) в модель перегляду.
Я прочитав, що найкращий спосіб використовувати context
здійснюється через використання block
подобається так:
// within CompanyViewModel
using (var _context = new MyEntities())
{
var _query = from co in _context.Companies
select co;
this.AllCompanies = new ObservableCollection<Models.Company>(_query);
}
де MyEntities
є об'єктом, створеним VS у файлі EDMX.
Так що моє запитання, якщо я можу просто викликати MyEntities з ViewModel, чому я передати сховище (посилання на MyEntities
) у кожній ViewModel?
Відповіді:
0 для відповіді № 1Тому що він робить ваш код за своєю природою більш перевіряється, розділяючи код, який взаємодіє з вашою базою даних, з коду, який керує частиною клієнтської частини вашої програми.
Дивіться повідомлення тут і тут для більшого пояснення щодо шаблону сховища та його загального використання.