Heim >Backend-Entwicklung >C++ >Können LINQ to SQL-Abfragen anonyme Typen als Ergebnisse zurückgeben?

Können LINQ to SQL-Abfragen anonyme Typen als Ergebnisse zurückgeben?

Susan Sarandon
Susan SarandonOriginal
2025-01-28 00:26:09777Durchsuche

Can LINQ to SQL Queries Return Anonymous Types as Results?

lINQ zu SQL kann als Ergebnis einen anonymen Typ zurückgeben?

In Linq zu SQL, wie Sie mehrere Tabellen abfragen und das Ergebnis mit einem anonymen Typ kombinieren?

Der erste Versuch des anonymen Typs

Die folgenden Beispiele verwenden zwei Tabellen und , versuchen Sie, anonyme Typen zu verwenden, um alle Hunde und deren entsprechende

:

Dogs, aber dies wird fehlschlagen, da der Compiler erwartet, Breeds anstelle eines anonymen Typs zurückzugeben. BreedName

benutzerdefinierter Typ
<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;
}</dog></code>

Dogs Eine Lösung besteht darin, einen benutzerdefinierten Typ zu erstellen, um einen Hund mit einem Sortennamen anzuzeigen:

Verwenden Sie den benutzerdefinierten Typ

Verwenden Sie diesen benutzerdefinierten Typ. Sie können die Abfrage ändern, um zu dem erforderlichen Ergebnis zurückzukehren:

<code class="language-csharp">public class DogWithBreed
{
    public Dog Dog { get; set; }
    public string BreedName  { get; set; }
}</code>

Diese Methode bietet eine Art sichere und wiederverwendbare Methode, mit der die Ergebnisse der benutzerdefinierten Typkombination aus mehreren Tabellen verwendet werden können. Dies vermeidet die Arten von Typen, die bei der Verwendung anonymer Typen auftreten.

Das obige ist der detaillierte Inhalt vonKönnen LINQ to SQL-Abfragen anonyme Typen als Ergebnisse zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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