In meiner Abfrage muss ich IEnumerable
zurückgeben, aber ich weiß nicht, ob diese Aktion die Abfrage erneut ausführen?konvertiert die Konvertierung von IQueryable in IEnumerable die Abfrage erneut?
var data = Repository<Person>.Find().AsEnumerable();
Find()
kehrt IQueryable
und weil IQueryable
erbt IEnumerable
. Ich bezweifle, wenn AsEnumerable
die wiederholte Ausführung machen.
Ich weiß, dass var data = Repository<Person>.Find().ToList()
die Abfrage zweimal ausführt. Eine für Find()
und zweite für Tolist()
Um dies richtiger zu machen. IQueryable ist kein IEnumerable ... aber er erbt von ihm. http://stackoverflow.com/questions/2433306/whats-the-difference-between-iqueryable-and-ienerable – Jimmyt1988
@ Jimmyt1988 https://en.wikipedia.org/wiki/Is-a#Examples_of_subtyping –