複雜的Json我有兩個表:創建使用實體框架C#asp.net
產品
ProductId | ProductName
__________|____________
1 | iPhone5
2 | iPhone6
3 | iPhone6s
圖片
Id | ImagePath | ProductId
___|__________________|___________
1 | /images/231.jpg | 2
2 | /images/432.jpg | 2
3 | /images/111.jpg | 1
我想要得到的Json看起來像
{
"id":"2",
"ProductName":"iPhone6"
},
"Images":[
{
"Id":"1",
"ImagePath":"/images/231.jpg"
},
{
"Id":"2",
"ImagePath":"/images/432.jpg"
}
]
所以我想獲得所有圖像o f使用實體框架的每個產品。我試着使用聯接:
var ads = db.Products.
Join(db.Images,
x=>x.ProductId,
cm=>cm.ProductId,
(x ,cm) => new {
Ads = x,
Images = cm
}).
Select(d => new {
d.Ads.AdId,
d.Images.ImagePath,
}).
Where(x => x.ProductId== 2).
ToList();
而我的Json
[
{
"AdId":2,
"ImagePath":"/images/231.jpg"
},
{
"AdId":2,
"ImagePath":"/images/432.jpg"
}
]
我的產品和圖像模式:
public class Product{
public int ProductId { get; set; }
public string ProductName { get; set; }
public virtual ICollection<Image> Images { get; set; }
}
public class Image{
public int ImageId { get; set; }
public string ImagePath { get; set; }
public int ProductId { get; set; }
public virtual Product Product { get; set; }
}
您可以請您發佈您的'產品'和'圖像'的模型定義,以及您如何建模這兩個實體之間的關係?因爲如果這樣做是正確的,那麼,你不必執行連接,而只需要簡單地獲取'Product',然後序列化(可能使用'Json.NET')。 –
已更新,請看看 –
你可能想要做一個羣組加入 – Rahul