Heim > Backend-Entwicklung > C++ > Wie kann ich anonyme Typen von linq an SQL -Abfragen zurückgeben?

Wie kann ich anonyme Typen von linq an SQL -Abfragen zurückgeben?

Linda Hamilton
Freigeben: 2025-01-28 00:16:09
Original
797 Leute haben es durchsucht

How to Return Anonymous Types from LINQ to SQL Queries?

linq zu SQL Query -Methode zur Rückgabe anonymer Typen

Bei der Verwendung von LINQ zu SQL, um mehrere Tabellen zu verarbeiten, kann die Rückgabe anonymer Typen auf Herausforderungen stoßen. Bitte betrachten Sie das folgende Beispiel:

Originalmethode:

Diese Methode holt alle Hundeinformationen erfolgreich ab. Wenn wir jedoch versuchen, Hunde und seine Sortennamen abzurufen:

<code class="language-csharp">public IQueryable<dog> GetDogs()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select d;
    return result;
}</code>
Nach dem Login kopieren

Wir werden Fehler treffen, da der Compiler erwartet, den Hundetyp und nicht den anonymen Typ zurückzugeben.

<code class="language-csharp">public IQueryable<dog> GetDogsWithBreedNames()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select new
                        {
                            Name = d.Name,
                            BreedName = b.BreedName
                        };
    return result;
}</code>
Nach dem Login kopieren
Alternative Methode: Benutzerdefinierte Klasse

Eine Lösung besteht darin, eine benutzerdefinierte Klasse wie DogwithBreed zu erstellen:

Dann können Sie den Code wie folgt ändern:

<code class="language-csharp">public class DogWithBreed
{
    public Dog Dog { get; set; }
    public string BreedName { get; set; }
}</code>
Nach dem Login kopieren
Diese Methode bietet eine Art sichere und wiederverwendbare Lösung, obwohl zusätzliche Codierungsarbeiten erforderlich sind. Durch die Auswahl einer benutzerdefinierten Klasse können die Art der nicht übereinstimmenden Arten von anonymen Typen vermeiden und die Wartung und Lesbarkeit des Codes verbessern.

Das obige ist der detaillierte Inhalt vonWie kann ich anonyme Typen von linq an SQL -Abfragen zurückgeben?. 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