Speichern/Aktualisieren von Daten in mehreren Tabellen mit ASP.NET MVC 4
Kann mir jemand helfen, wie zum speichern und aktualisieren von Daten in mehrere Entitäten mit einem ViewModel?
Habe ich ein ViewModel, das wie folgt aussieht:
public class StudentViewModel
{
public Student student;
public StudentAddress studentAddress { get; set; }
public StudentPhoto studentPhoto { get; set; }
//Three entities are related to one to one relationship
public DoctorDetailsViewModel()
{ }
}
Mein Controller ist:
[HttpPost]
public ActionResult Create(StudentViewModel studentViewModel)
{
if (ModelState.IsValid)
{
return View(studentViewModel);
}
Student s = new Student()
{
Name =studentViewModel.Student.Name,
Speciality = studentViewModel.Student.Speciality,
DateOfJoinig = studentViewModel.Student.DateOfJoinig,
Qualification = studentViewModel.Student.Qualification,
Email = studentViewModel.Student.Email
};
StudentAddress sa = new StudentAddress()
{
StudentId= studentViewModel.Student.StudentId,
Address = studentViewModel.StudentAddress.Address,
Area = studentViewModell.StudentAddress.Area,
City = studentViewModel.StudentAddress.City,
State = studentViewModel.StudentAddress.State,
Pincode = studentViewModel.StudentAddress.Pincode,
Phone = studentViewModel.StudentAddress.Phone,
Mobile = studentViewModel.StudentAddress.Mobile
};
StudentPhoto sp = new StudentPhoto()
{
StudentId= studentViewModel.Student.StudentId,
Photo = studentViewModel.StudentPhoto.Photo
};
db.Students.Add(s);
db.StudentAddress.Add(sa);
db.StudentPhoto.Add(sp);
db.SaveChanges();
return RedirectToAction("Home");
}
War ich in der Lage, abrufen und anzeigen der Daten (von mehreren Personen) in den Blick. Aber jetzt bin ich stecken, wie kann ich speichern und aktualisieren der genannten Gremien mit den neuen Daten. Die meisten Beispiele sind 1-1 Beziehung, die Zuordnung erfolgt automatisch, aber in diesem Fall die Daten, die gehört zu mehreren Personen.
Was ist der beste Weg, dies zu tun? Danke.
- Was ist das problem? Sie zeigen nur das, was Sie tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst Ihre Modelle sollte wie folgt Aussehen:
Als Qazi erwähnt, sollten Sie Navigations-Eigenschaften.
Dann auf der client-Seite sollten Sie verborgene Felder für Ihre ID-Eigenschaften für die Bearbeitung Zweck:
Nach, dass Ihre controller-Methode wird wie folgt Aussehen:
Brauchen Sie nicht zu zuweisen, die ID-Eigenschaften, aber Sie brauchen, um zu ordnen navigation Eigenschaften.
nicht getestet, aber dies kann helfen,
Während der Verwendung einer relationalen Datenbank, es ist mein Verständnis, die studentaddress wird sein Kind, der Student, wie gezeigt, im code StudentId Fremdschlüssel in beiden StudentAddress und StudentPhoto Tabelle. Wenn Sie fügen Sie die navigation Eigenschaften zu Studenten-und weisen-Adresse und Foto, um diese Eigenschaften von Entity framework wird Sie retten. So etwas wie