Dafür habe ich 3 Modelle: Krankenhäuser, AspNetUsers, UserHospitals.Konfigurieren viele zu viele Beziehung
das ist das UserHospitals Modell:
public class UserHospital
{
[Key]
public int UserHospitalID { get; set; }
public int HospitalID { get; set; }
public Hospital Hospitals { get; set; }
public string Id { get; set; }
public ApplicationUser Users { get; set; }
}
Mit ihm kann ich Benutzer-ID und Krankenhaus-ID zu dieser Tabelle hinzufügen.
Jetzt muss ich überprüfen, welche Krankenhäuser Benutzer angeschlossen ist.
Auf meinem Controller, die eine Krankenhausliste zurückgeben, muss ich nur Krankenhäuser, die Benutzer eine Verbindung haben, zurückgeben.
Diese zurück alle Krankenhäuser, wie kann ich es filtern, um nur anzuzeigen, wenn Benutzer eine Verbindung mit Krankenhaus auf UserHospitals haben?
public ActionResult Index()
{
return View(db.Hospitals.ToList());
}
Ich will nicht eine neue Ansichtsmodell hinzuzufügen, die Modelle verbinden oder was auch immer
== == EDIT
Krankenhaus Modell
public class Hospital
{
[Key]
public int HospitalID { get; set; }
public string Name { get; set; }
public virtual ICollection<HospitalSpeciality> HospitalSpecialities { get; set; }
public virtual ICollection<UserHospital> UserHospitals { get; set; }
}
Wie erhalten Sie die Verbindung des Benutzers zu einem Krankenhaus? Wenn seine UserHosipital-ID 'db.Hosipitals.where (h => h.UserHosipitalId == expectedId)' – Eldho
Krankenhaus -> UserHospital -> Benutzer ist, habe ich keine direkte Verbindung zum Benutzer nach Krankenhaus-Modell. Sie können es auf meiner Bearbeitung sehen. –