我有我想改變它到LINQ實體框架查詢, 我的查詢是:什麼是我的查詢linq?
(from l in db.PageLayouts
where l.ZoneName == zone.Name
join p in db.PageLayouts
on l.PageId equals p.PageId
where p.ZoneName == PageName
orderby l.AppearanceOrder
select l).ToList();
有沒有人幫我把它轉換?
我有我想改變它到LINQ實體框架查詢, 我的查詢是:什麼是我的查詢linq?
(from l in db.PageLayouts
where l.ZoneName == zone.Name
join p in db.PageLayouts
on l.PageId equals p.PageId
where p.ZoneName == PageName
orderby l.AppearanceOrder
select l).ToList();
有沒有人幫我把它轉換?
您的查詢已經是Linq。我猜在這裏,但我想你想將它更改爲流利(或「方法的語法」),如果是這樣,這裏是直接翻譯:
db.PageLayouts.Where(x => x.ZoneName == zone.Name)
.Join(db.PageLayouts,
l => l.PageId,
p => p.PageId,
(l,p) => new { l,p })
.Where(z => x.p.ZoneName == PageName)
.OrderBy(x => x.l.AppearanceOrder)
.Select(x => x.l)
.ToList();
我不認爲你的加盟品牌很有道理,但我只是改變了從linq到流利的語法。
PS:這個答案很快,沒有想太多雕琢,小心輕放
我們在LINQ中有查詢語法和方法語法。見this。
//Query syntax:
IEnumerable<int> numQuery1 =
from num in numbers
where num % 2 == 0
orderby num
select num;
//Method syntax:
IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
在介紹語言集成查詢(LINQ) 文檔大多數查詢使用LINQ查詢聲明語法編寫。 但是,在編譯代碼時,必須將查詢語法翻譯爲對公共語言運行庫(CLR)的方法調用 。這些 方法調用會調用標準查詢運算符,其名稱爲 ,如Where,Select,GroupBy,Join,Max和Average。您可以直接使用方法語法而不是查詢語法來調用 。
已經是LINQ的,沒有必要去改變它 – Jcl
是的,已經在LINQ的格式。 –
實體框架查詢已經在linq語法中,因此是linq查詢。因此,無論您是否在您的問題中混淆了事情,或者您應該解釋一下您需要做的更詳細的事情,因爲目前看起來您已經用問題內容解決了自己的問題。 – Thomas