Ich bin sehr frustriert von LINQ zu SQL im Umgang mit vielen zu viele Beziehung mit der Skip-Erweiterung. Ich kann keine verknüpften Abfragen verwenden. Nicht sicher, dass es für SQL Server 2005 der Fall ist, aber ich verwende derzeit SQL Server 2000.Store-Prozedur wählen Sie alle Felder aus Eine Tabelle mit Join
Jetzt erwäge ich, eine Speicherprozedur zu schreiben, um eine Tabelle abzurufen, die von zwei Tabellen, z. Album_Photo (Album-> Album_Photo < -Photo) und Fototabelle und möchte nur die Fotos Daten, so dass ich die Album-ID mit Album_Photo übereinstimmen und diese ID verwenden, um das Foto zu entsprechen. In der Speicherprozedur werde ich nur alle verbundenen Daten holen. Danach in der linq to sql, erstelle ich ein neues Album-Objekt.
z.B.
var albums = (from r in result
where (modifier_id == r.ModifierID || user_id == r.UserID)
select new Album() {
Name = r.Name,
UserID = r.UserID,
ModifierID = r.ModifierID,
ID = r.ID,
DateCreated = r.DateCreated,
Description = r.Description,
Filename = r.Filename
}).AsQueryable();
nutzte ich die AsQueryable das Ergebnis als IQueryable anstatt IEnumerable zu bekommen. Später möchte ich etwas mit der Sammlung machen, es gibt mir diesen Fehler:
System.InvalidOperationException: Die Abfrageergebnisse können nicht mehr als einmal aufgelistet werden.