【发布时间】:2011-03-31 18:12:50
【问题描述】:
我的 LINQ 查询在表格菜单中获取记录,条件是 parentID == 0(获取根菜单)和 ID !=(parentID 列表)(这是父 ID 列表是有子菜单记录的 ID) ,我只想加载所有记录,包括没有子记录和子记录的根菜单:
List<Menu> menus = MenuDAO.Instance.GetAll(); // Get All Record in Menu Table
var parentID = (from p in menus where p.ParentID != 0 select new {p.ParentID}).Distinct(); // Get unique ParentID in Menu Table
List<int> numParentID = new List<int>();
foreach (var a in parentID)
{
numParentID.Add(a.ParentID);
} // assign to a list <int>
this.ddlMenu.DataSource = from m1 in menus
where !(numParentID).Contains((int)m1.ID) && m1.ParentID == 0
select new { m1.ID, m1.Name };
this.ddlMenu.Databind();
我运行这段代码,我显示没有孩子的记录,不显示孩子的记录。有人帮我修一下。我的 LINQ 新手,非常感谢。
我期望的结果是:没有任何子项的记录列表,我的菜单表架构是:ID、名称、订单、ParentID。
【问题讨论】:
标签: linq linq-to-sql