Viele zu Viele Abfrage in Entity Framework 4
Habe ich eine viele zu viele Beziehung in meiner Datenbank. Die zwei end-Tabellen sind BlogPost und Artikel und die Tabelle in der Mitte ist ItemBlogPost. Ich brauche, um wieder alle Beiträge mit Bezug zu einem bestimmten Element. In SQL würde ich es so machen:
SELECT BlogPost.*
FROM BlogPost
JOIN ItemBlogPost ON BlogPost.ID = ItemBlogPost.BlogPost_ID
WHERE ItemBlogPost.Item_ID = @Item_ID
In C# habe ich etwas ähnliches:
IQueryable<BlogPost> itemBlogPosts = from b in connection.BlogPosts
where b.Items == item.ID
orderby b.Content.CreateDate descending
select b;
Aber die Linie gekennzeichnet.b.Elemente, die nicht geben Sie mir eine Liste der Element-Eigenschaften, und es gibt keine b.ItemBlogPost Blick auf die Vermittler-Tabelle. Ich habe auch versucht zu tun b.Items.Contains(item)
aber auch nicht. Wie kann ich diese Arbeit in LINQ to EF4?
- Wenn Sie eine viele-zu-viele-Beziehung einrichten, es soll einfach
item.BlogPosts
keine?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was dazu:
Die gleiche Abfrage kann auch definiert durch:
Können Sie genau dies tun:
Da Sie über EF es behandeln soll, die die viele-zu-viele-Zuordnung für Sie und Sie sollten Beiträge als Navigations-Element in Ihrem Element-Objekt.
Wenn:
Dann:
Diese Weise:
Also, wenn Sie Ihre speziellen Einzelteil von hand können Sie nur erstellen, eine Sammlung von zugehörigen Artikel, durch tun:
Nun haben Sie ein bestimmtes Element mit der Sammlung der Beiträge gefüllt (sofern vorhanden wurden im Zusammenhang mit diesem Artikel).