Heim > Backend-Entwicklung > C++ > Wie verwende ich die Funktion „Contains()' in Linq to Entities?

Wie verwende ich die Funktion „Contains()' in Linq to Entities?

Susan Sarandon
Freigeben: 2024-10-29 11:14:29
Original
533 Leute haben es durchsucht

How to Use the Contains() Function in Linq to Entities?

Contains()-Funktions-Workaround mit Linq to Entities

Frage:

Verwendung die Funktion „Contains()“ in Linq-to-Entities-Abfragen trotz fehlender Unterstützung?

Antwort:

Aktualisierung: Ab Entity Framework ( Ab Version 4 von EF) wird Contains() direkt unterstützt.

Für frühere Versionen von EF ist eine Problemumgehung erforderlich:

Benutzerdefinierte Erweiterungsmethode für Contains()

Erstellen Sie die folgende Erweiterungsmethode:

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    IEnumerable<TValue> collection)
{
    // ... (implementation remains the same as in the provided code)
}</code>
Nach dem Login kopieren

Optionale statische Sammlungsversion

Optional können Sie eine Version erstellen, die eine statische Sammlung als ermöglicht Eingabe:

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    params TValue[] collection)
{
    return WhereIn(query, selector, (IEnumerable<TValue>)collection);
}</code>
Nach dem Login kopieren

Verwendung:

Mit dieser Erweiterungsmethode können Sie Contains() in Ihren Linq to Entities-Abfragen wie folgt verwenden:

<code class="csharp">public static void Main()
{
    using (MyObjectContext context = new MyObjectContext())
    {
        // Using method 1 - collection provided as collection
        var contacts1 = context.Contacts.WhereIn(c => c.Name, GetContactNames());

        // Using method 2 - collection provided statically
        var contacts2 = context.Contacts.WhereIn(c => c.Name,
            "Contact1",
            "Contact2",
            "Contact3",
            "Contact4");
    }
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich die Funktion „Contains()' in Linq to Entities?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage