0
我試圖產生這個查詢與實體構架dbContext
:如何產生,其中,查詢與子查詢的實體框架4.1
SELECT id
FROM menuitems
WHERE (parent_id = 11)
UNION
SELECT id
FROM menuitems AS menuitems_2
WHERE (parent_id IN
(SELECT id
FROM menuitems AS menuitems_1
WHERE (parent_id = 11)))
表的菜單項有2列:ID,PARENT_ID
我嘗試這樣:
List<int> mi = ctx.MenuItems.Where(i => i.parent_id == this.id).Select(id => id.id)
.Union(ctx.MenuItems.Where(c => ctx.MenuItems
.Where(i => i.parent_id == this.id).Select(id => id.id)
.Contains((int)c.parent_id)).Select(id => id.id))
.ToList();
,但它不工作,我becouse得到如下因素的錯誤:
Unable to create a constant value of type 'Menuitem'. Only primitive types ('such as Int32, String, and Guid') are supported in this context.
有沒有辦法產生這個查詢?
thx for reply。我想知道我是否可以用一個查詢來做到這一點...所以問題是如何使用包含子查詢。 – Wnk
我爲此添加了一個聯合。如果這是你正在尋找的,請選擇作爲答案。 – Slick86