Entity Framework SQL-Abfrage keine Ergebnisse zurückgegeben
Ich bin mit einer Entity Framework-Database first-Modell, und ich habe Probleme beim Abfragen meiner DB.
Ich versuche, den folgenden code verwenden:
var ctx = new dbEntities();
var description = ctx.DEPARTMENTs.SqlQuery("SELECT DESCRIPTION FROM DEPARTMENT WHERE DEPARTMENT='FINANCE'");
System.Diagnostics.Debug.WriteLine(description);
Ich sehe meine Tabelle der Ergebnisse für die DEPARTMENTs
Tabelle in der debug-log, aber aus irgendeinem Grund die SQL-Abfrage wird einfach wieder mir das in der Konsole statt, der die Abfrage ausführt, weiß jemand warum?
SELECT DESCRIPTION FROM DEPARTMENT WHERE DEPARTMENT='FINANCE'
- Sie sind im Grunde tut
description.ToString()
gibt die string-Darstellung der Abfrage. - Wenn jemand die Antwort dein problem gelöst ist, möchten Sie vielleicht, es zu akzeptieren als die Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um die Abfrage auszuführen gegen den Anbieter haben, müssen Sie auf jede Erweiterung abgeleitet von
IEnumerable
d.h.ToList()
oderFirst()
oderFirstOrDefault()
Jetzt haben Sie zu berücksichtigen, einige Dinge. Was Ihre Abfrage könnte eventuell zurück? Eine Liste von Daten oder einzelne Daten? Oder auch wenn Sie eine Liste von übereinstimmungen gefunden, Sie wollen nur ein einziges?
sich von der syntax Ihrer Abfrage, die ich annehmen, dass du dies tun sollte:
Alternativ können Sie auch das tun(würde ich bevorzugen):
.Select(s=>new{ s.Description, s.ID, s.WhateverElseAvailable})
Versuchen:
EDIT: Raw-SQL-Abfragen
http://msdn.microsoft.com/en-us/data/jj592907.aspx
Beachten Sie, dass, genau wie bei LINQ-Abfragen, die Abfrage wird nicht ausgeführt, bevor die Ergebnisse aufgelistet werden—im Beispiel oben wird dies mit dem Aufruf von ToList.
System.Diagnostik.Debug.WriteLine ("Objekt") schreibt den Wert der das Objekt die ToString-Methode wird der trace-Listener in der Listeners-Auflistung. Debug.WriteLine ("Objekt")
SqlQuery
zurückDbSqlQuery<TEntity>
Objekt. In Ihrem Fall ist es wahrscheinlichDbSqlQuery<DEPARTMENTs>
. Wie die Dokumentation sagtBitte beachten Sie die Linien
Was bedeutet, Sie haben zu Durchlaufen, um die Ergebnisse.