我在数据库中有三个表如下:
1.Design_Master_ParentMenus
1.ParentMenuID 1--------
2.Title |
2.Design_Master_Categories |
1.CategoryID 1------|---------
2.Title | |
3.ParentMenuID *------ |
3.Design_Master_TileItem |
1.TileItemID |
2.Title |
3.CategoryID *---------------
现在我想从Master_Design_TileItem
得到祖父母的ParentMenuID等于1的所有项目。
所以,到目前为止,我已尝试过以下查询,但我没有成功。
var g = from f in db.Design_Master_Categories
where f.CategoryID == 1
select f.CategoryID;
var v = from h in db.Design_Master_ParentMenus
where h.ParentMenuID == g.FirstOrDefault()
select h.ParentMenuID;
var result = from t in db.Design_Master_TileItem
join c in db.Design_Master_Categories
on t.CategoryID equals c.CategoryID
join p in db.Design_Master_ParentMenus
on c.ParentMenuID equals p.ParentMenuID
where p.ParentMenuID == v.FirstOrDefault()
select t;
但是当我运行程序时,我总是得到result = null。
答案 0 :(得分:3)
如何
where f.CategoryID == 1
条件如下
现在我希望获得
Master_Design_TileItem
的祖父母的ParentMenuID
等于1 的所有项目。
?你说,你想要ParentMenuID = 1
,而不是CategoryID = 1
。
您也没有说明您的模型是如何设置的,但是如果具有正确的导航属性,您应该能够:
var result = from c in db.Design_Master_Categories
from i in c.TileItems
where c.ParentMenuID == 1
select i;
答案 1 :(得分:0)
如果您的数据库设置正确,它应该像以下一样简单:
Design_Master_TileItems.Where(x => x.Design_Master_Category.ParentMenuId == 1)