मेरे पास एक सारणी है जो संदर्भित करती है, लेकिन मैं अपनी वांछित मैपिंग प्राप्त करने के लिए संघर्ष कर रहा हूं। मैं बच्चों को उन लोगों का संग्रह करने में सक्षम होना चाहता हूं जिनके पास माता, पिता, और/या अभिभावक के रूप में दिया गया व्यक्ति है। एक अभिभावक पिता या मां हो सकता है।कई माता-पिता गुणों के साथ ईएफ 6 स्वयं संदर्भ तालिका, एकल बाल संग्रह
मैं उन लोगों का वृक्ष दृश्य देखना चाहता हूं जो ब्राउज़ करने योग्य हैं जहां लोग सूचीबद्ध हैं; उपयोगकर्ता बच्चे के परिभाषित रिश्ते (माता, पिता, या अभिभावक) को ध्यान में रखते हुए, उस व्यक्ति के बच्चों को दिखाने के लिए किसी व्यक्ति के नोड का विस्तार कर सकता है।
public partial class Person
{
[Key]
public int ID { get; set; }
[StringLength(100)]
public string Name { get; set; }
public int? GuardianID { get; set; }
[Column("MotherID")]
public int? MotherID { get; set; }
[Column("FatherID")]
public int? FatherID { get; set; }
[ForeignKey("MotherID")]
public virtual tblPerson Mother { get; set; }
[ForeignKey("FatherID")]
public virtual tblPerson Father { get; set; }
[ForeignKey("GuardianID")]
public virtual tblPerson Guardian { get; set; }
[InverseProperty("Guardian")]
[InverseProperty("Father")]
[InverseProperty("Mother")]
public virtual IEnumerable<tblPerson> children { get; set; }
}
किसी भी मदद की सराहना की जाएगी अभी मेरे विचार इस तरह दिखना चाहिए:
@using Person_MVC.Models
@model IEnumerable<Person>
@{
IEnumerable<Person> children;
}
<ul>
@foreach (Person person in Model.OrderBy(p => p.PersonNumber))
{
<li id="[email protected]" data-jstree='{"type":"Person"}' data-Personkey="@Person.ID.ToString()">
@Person.Name
@{
PersonModel db = new PersonModel();
children = (from p in db.Persons where p.GuardianID == Person.ID || p.Father == Person.ID || p.MotherID == Person.ID select p).ToList();
}
@if (children != null && children.Count() > 0)
{
@Html.Partial("PersonTree", children)
}
</li>
}
</ul>