Ich habe kürzlich angefangen, Automapper zu verwenden. Ich habe eine große Datenbanktabelle mit 50 Eigenschaften. Ich möchte Update-Tabelle mit Automapper, aber nur wenige ausgewählte Eigenschaften werden mit Viewmodel übergeben.Aktualisieren von nur wenigen Eigenschaften mit dem Automapper
Um meine Frage einfach zu machen, schrieb ich kleine Konsole Programm.
internal class Person
{
public string FirstName { get; set; }
public string NickName { get; set; }
public string LastName { get; set; }
}
internal class PersonContract
{
public string FirstName { get; set; }
public string NickName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
PersonContract Person1 = new PersonContract { NickName = "Dan", LastName = "Smith" };
Person Person2 = new Person { FirstName = "Robert", NickName = "Rob" };
Mapper.CreateMap<PersonContract, Person>();
Mapper.Map(Person1, Person2);
Console.WriteLine(Person2.FirstName);
Console.WriteLine(Person2.NickName);
Console.WriteLine(Person2.LastName);
Console.ReadLine();
}
}
Meine Ausgabe ist NULL Dan Smith
Ich erwartete Robert Dan Smith
Denn wenn Person1 nicht "Vorname" passing dann Person2 alten Wert behalten sollte. Offensichtlich verstehe ich es nicht richtig. Kann jemand dieses Problem erklären? Und lassen Sie mich wissen, wie ich die Ausgabe bekomme, die ich erwartet habe. mit ForAllMembers
und Condition
Methoden
Perfekt! Danke dafür. Ich wusste, dass es einen einfachen Weg dafür geben muss. – viks
Schöne, schnelle, richtige Antwort. Gut gemacht!! –