Ich habe zwei Tabellen:Erstellen komplexer Json asp.net mit Entity Framework C#
Produkte
ProductId | ProductName
__________|____________
1 | iPhone5
2 | iPhone6
3 | iPhone6s
Bilder
Id | ImagePath | ProductId
___|__________________|___________
1 | /images/231.jpg | 2
2 | /images/432.jpg | 2
3 | /images/111.jpg | 1
möchte ich Json wie
{
"id":"2",
"ProductName":"iPhone6"
},
"Images":[
{
"Id":"1",
"ImagePath":"/images/231.jpg"
},
{
"Id":"2",
"ImagePath":"/images/432.jpg"
}
]
sieht
Also ich möchte alle Bilder bekommen o f jedes Produkt mit Entity Framework. Ich habe versucht, kommen mit:
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();
Und meine Json
[
{
"AdId":2,
"ImagePath":"/images/231.jpg"
},
{
"AdId":2,
"ImagePath":"/images/432.jpg"
}
]
Mein Produkt und Bild Modelle:
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; }
}
Können Sie Ihre Modelldefinition für 'Product' und' Image' zusammen mit der Modellierung der Beziehung zwischen diesen beiden Entitäten posten? Denn wenn das richtig gemacht wird, dann müssen Sie den Join nicht ausführen und müssen stattdessen einfach ein "Produkt" greifen und dieses serialisieren (möglicherweise unter Verwendung von 'Json.NET'). –
aktualisiert, werfen Sie einen Blick bitte –
Sie möchten vielleicht einen Gruppenbeitritt machen – Rahul