Ich lerne EF 5 und versuche zu verstehen, warum ein Repository vom Hauptfenster (Ladepunkt) in ein View-Modell geleitet wird.
Ich habe gelesen, dass der beste Weg zu verwenden ist context
ist über die Verwendung block
so:
// within CompanyViewModel
using (var _context = new MyEntities())
{
var _query = from co in _context.Companies
select co;
this.AllCompanies = new ObservableCollection<Models.Company>(_query);
}
woher MyEntities
ist das Objekt, das von VS in der EDMX-Datei erstellt wurde.
Also meine Frage ist, ob ich MyEntities einfach von einem ViewModel aus aufrufen kann, warum würde ich ein Repository übergeben (eine Referenz zu MyEntities
) in jedes ViewModel?
Antworten:
0 für die Antwort № 1Weil es Ihren Code inhärent testbarer macht, indem Sie den Code, der mit Ihrer Datenbank interagiert, von dem Code trennen, der den clientseitigen Teil Ihrer Anwendung steuert.
Sieh dir die Beiträge an Hier und Hier für weitere Erklärungen bezüglich des Repository-Musters und seiner allgemeinen Verwendung.