Heim >Backend-Entwicklung >C++ >Können LINQ to SQL-Abfragen anonyme Typen als Ergebnisse 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
<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!