Beste Weg, um Updates nur die geänderten Felder mit Entity Framework

Momentan mache ich so:

Beispiel:

public update(Person model)
{
    //Here model is model return from form on post
    var oldobj = db.Person.where(x=>x.ID = model.ID).SingleOrDefault();
    db.Entry(oldobj).CurrentValues.SetValues(model);
}

Es funktioniert, aber zum Beispiel,

Ich habe 50 Spalten in meiner Tabelle, aber ich zeigte nur 25 Felder in meinem Formular (ich muss teilweise update meiner Tabelle mit den restlichen 25 Spalte beibehalten gleichen Alter Wert)

Ich weiß, es kann erreicht werden durch "mapping Spalten eins nach dem anderen" oder durch "versteckte Felder für die restlichen 25 Spalten".

Nur Fragen, gibt es irgendeinen eleganten Weg, dies zu tun mit weniger Aufwand und optimale Leistung?

Create View-Modell.. nur fügen Sie die Felder, die Sie wollen.. Werte Setzen
Auch ich create View-Modell; das gleiche problem immer noch vorhanden ist, während der Aktualisierung zu meiner Tabelle "Person". Bitte korrigieren Sie mich, wenn mir etwas fehlt
hat Ihr viewmodel haben nur die 25 Felder, die Sie anzeigen?
Derzeit habe ich insgesamt Person Viewmodel und ich bin das mapping mit Omu.ValueInjector mit-mapper.map-Klasse. Wenn ich ein viewmodel mit 25 Spalte, wie soll ich die Karte mit dem db-Modell und andere 25 Spalte behält die gleichen alten Wert aktualisieren??
Sie haben den ursprünglichen Wert aus der DB. nur setzen unterschiedliche Werte, und natürlich auch nur Diese aktualisiert wird (Identität tracking erfolgt mit PK und Parallelität Token in EF)

InformationsquelleAutor 10K35H 5H4KY4 | 2015-10-14

Schreibe einen Kommentar