Wie kann ich direkt ausführen der SQL-Abfragen in linq
In C# mit VS 2008 habe ich eine Abfrage ,In dieser Abfrage, die ich an mehr als einem Tische,so dass ich weiß nicht, der Typ , ich will wissen, wie direkt ausführen eine sql-Abfrage in linq .
IEnumerable<Type> results = db.ExecuteQuery<TYpe>("sql query")
Meine obige Abfrage funktioniert einwandfrei, aber ich möchte vermeiden, geben Sie, ich will schreiben
var results = db.ExecuteQuery("sql query");
Gibt es eine Möglichkeit, es zu schreiben?
Vielen Dank im Voraus.
- Wie ist es eigentlich für linq2sql zu erkennen, welche Klasse es braucht, um die Zuordnung der Ergebnisse? Btw, du bist immer noch in der Lage zu verwenden
var
in der ersten Probe, sind Sie nicht? - Ist es möglich, eine gespeicherte Prozedur verwenden? Der designer generiert eine Klasse für jede gespeicherte Prozeduren zurück geben wenn so.
- Geben Sie einige Beispiel-Abfragen. Was versuchen Sie zu erreichen? Sind die Rendite-Typen die gleichen, aber nur aus verschiedenen Tabellen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den Typ angeben, um die Karte aus der Abfrage-Ergebnisse. Sie können eine
System.Type
Objekt statt statisch angeben, es als ein generischer Typ-parameter:Wenn Sie wollen einfach nur eine Ebene ADO.NET DataReader können Sie mit der
DataContext.Connection
Eigenschaft:aber stellen Sie sicher, dass
JobsDto
hat zwei EigenschaftenJobID
undJobName
und es gibt Arten, die denselben Typ wie die Tabelle SpaltenPS. DTO stehen für Daten Transfer Object
public class JobsDto { public dynamic JobsID; public dynamic JobName; }
, und verwenden Sie ein tool wie LinqPad dump das Ergebnis. Ordnen Sie den Standardwertnull
zu vermeiden, Warnungen und nutzen Ergebnis-TypIEnumerable<JobsDto>
.