Enthält mindestens alles in Entity Framework

Ich habe die folgenden 2 Entitäten in meiner Datenbank.

public class Article
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    // Some code removed for brevity

    public virtual ICollection<Tag> Tags { get; set; }
}


public class Tag
{

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    // Some code removed for brevity

    public virtual ICollection<Article> Articles { get; set; }

}

Ich muss diese Artikel basierend auf den Tag-IDs filtern, die an meine Aktion übergeben werden.

public ActionResult FindAll(List<int> tags)
{

    //
    // I need to return all articles which have ALL the tags passed into this method
    //

    var query = ApplicationDbContext.Articles...


}

Wenn ich zum Beispiel 1, 2, 3 in die Aktion übernommen habe, werden nur Artikel mit diesen 3 oder mehr Tags zurückgegeben.

Wie kann ich das erreichen?

Danke für die tolle Antwort!

Alle Ihre Antworten haben zu dem richtigen Ergebnis geführt, sodass ich einige schnelle, grundlegende Profilerstellungen in SQL durchgeführt habe. Dies waren die Ergebnisse, die auf Ihren Abfragen basierten.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage