Im mit Linq zu SQL Ich habe eine Mission-Entität, die eine Sammlung von Zuweisungen enthält. Nehmen wir an, ich wollte die Gesamtdauer aller Aufträge pro Mission abfragen.nicht verstehen, diese Ausnahme
und ich habe die folgende Abfrage geschrieben:
return db.Missions.Select(m => new MissionNameDays()
{
Name = m.MissionName,
Days = m.Assignments.Sum(a => a.Duration())
});
Dauer einfach definiert ist (es einfach zu halten)
public partial class Assignment
{
public int Duration()
{
return 1;
}
}
diesen Code ausgeführt wird, gibt mir die folgende Ausnahme:
Nur ein Ausdruck kann in der Auswahlliste angegeben werden, wenn die Unterabfrage wird nicht mit EXISTS eingeführt.
Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es in der Code stammt.Ausnahmedetails: System.Data.SqlClient.SqlException: nur ein Ausdruck in der Auswahlliste angegeben werden kann, wenn die Unterabfrage nicht mit EXISTS eingeführt.
Ich habe bemerkt, dass, wenn ich die Dauer() aus der Abfrage (aka
Days = m.Assignments.Sum(a => 1)
es funktioniert OK
keine Vorstellungen über die Ursache dafür?