我有一個問題,問題是我想要從該地區選擇所有的葡萄酒,我做了一些代碼,但他重複該地區總是我喜歡3種葡萄酒,他向我展示了3種葡萄酒,但分開,我選擇typeWine。Linq選擇地區,然後葡萄酒列表
的LINQ
public List<ZoneModel> GetRegion(int typeWine)
{
var query = (from m in db.Wine
join si in db.ImageWine on m.idWine equals si.idWine into f
join r in db.Region on m.idRegion equals r.idRegion
where m.idTypeWine == typeWine
select new ZoneModel()
{
Name = r.name,
Description = r.description,
ImageUrl = r.Image.urlImage,
BeveragesList = new List<BeverageModel>()
{
new BeverageModel()
{
Name = m.name,
ShortName = m.shortName,
Price = m.price,
Description = m.description,
AlcoholContent = m.alcoholContent,
Region = m.Region.name,
WineCaste = m.wineCaste,
UrlImageList = f.Select(i => _url + i.Image.urlImage).ToList(),
}}}
).ToList();
return query;
}
返回JSON:
[{
"Name": "Douro",
"ImageUrl": "douro.jpg",
"Description": "Douro Descrição",
"BeveragesList": [{
"AlcoholContent": "12",
"Region": "Douro",
"WineCaste": "Castas",
"DishList": null,
"WineCategoryEnum": null,
"WineEnum": null,
"Id": null,
"UrlImageList": ["http://..net/Images/vinho1.jpg", "http://..net/Images/vinho2.jpeg"],
"Name": "Vinho Douro",
"ShortName": "Vinho Douro",
"Description": "Descrição Vinho",
"Price": "12"
}]
}, {
"Name": "Douro",
"ImageUrl": "douro.jpg",
"Description": "Douro Descrição",
"BeveragesList": [{
"AlcoholContent": "12",
"Region": "Douro",
"WineCaste": "Castas",
"DishList": null,
"WineCategoryEnum": null,
"WineEnum": null,
"Id": null,
"UrlImageList": ["http://..net/Images/vinho1.jpg"],
"Name": "Vinho douro2",
"ShortName": "Vinho douro2",
"Description": "Descrição",
"Price": "12"
}]
}]
我認爲你必須每酒多張圖片。只要用葡萄酒做一個小組。 – Kyle
等一下。 LINQ的這種風格(實體框架?)以及您獲得了哪些導航屬性? (比如:'Wine.WineImages'等)在大多數情況下,顯式'join'語句不是必需的。 –
是的,實體框架。 – kroz