如何获取具有相同父ID的项目 - 在EF中填充下拉列表

时间:2017-03-15 07:30:12

标签: asp.net-mvc entity-framework foreign-keys parent-child html.dropdownlistfor

我有父子(1到多人)表,AKA 外键表。

Dad Table - > Children Tables

中有很多孩子

Id, DadName - > Id, DadId, ChildName

我在子表中有一个值,即I know Sarah/ iD 27,即我知道一个孩子并且想知道 - 其他孩子在她父亲的家庭中是谁。我怎么能在EF中这样做?

如何在给定childId 的同一个parentID(dadId)的下拉列表中重置相邻的兄弟姐妹?

 FamilyRow.FamilyList = db.Children
     .Where(x => x.Dad (Dad.FirstOrDefault(y => y.ID == x.Child.Id));  
     .Select(x => new SelectListItem()
            {                    
                Value = x.Id.ToString(),  // is this needed?? 
                Text = x.ChildName                   
            }).SortByDescending..;

1 个答案:

答案 0 :(得分:1)

首先获取给定孩子的父ID

Int32 parentId = db.Children.Where(x=>x.ChildId == GivenChildId).FirstOrDefault().ParentID;

如果Parent Id不为null,则获取具有此父ID的所有子项

if(parentId != null)
{
    List<Children> lstChildren = db.Children.Where(x=>x.ParentID == parentId).ToList();
}