Grundsätzlich möchte ich zwei Iqueryable zu einem Iqueryable zusammenführen und dann den vollständigen Datensatz nach dem Ende meiner Schleife zurückgeben. Es läuft perfekt, aber am Ende haben meine Objret nichts, aber wenn ich debugge die Schleife obj einige Datensätze haben. wht im falschen BetreiberProblem beim Erstellen leer IQueryable <T> Objekt
IQueryable<MediaType> objret = Enumerable.Empty<MediaType>().AsQueryable();
var typ = _db.MediaTypes.Where(e => e.int_MediaTypeId != 1 && e.int_MediaTypeId_FK == null).ToList();
for (int i = 0; i < typ.Count; i++)
{
IQueryable<MediaType> obj = _db.MediaTypes.Where(e => e.bit_IsActive == true && e.int_MediaTypeId_FK == typ[i].int_MediaTypeId);
IQueryable<MediaType> obj1 = _db.MediaTypes.Where(e => e.int_OrganizationId == Authorization.OrganizationID && e.bit_IsActive == true && e.int_MediaTypeId_FK == typ[i].int_MediaTypeId);
if (obj1.Count() > 0)
obj.Concat(obj1);
if(obj.Count() > 0)
objret.Concat(obj);
}
return objret;
ich es ändern, um eine Liste zu erstellen und es funktioniert Vielen Dank. –
Dieser Ansatz generiert 4 Rundreisen zur Datenbank für jede Iteration in der For-Schleife ... Das ist ein mögliches Leistungsproblem, wenn Sie mich fragen (obwohl es natürlich von der tatsächlichen Größe der Tabelle abhängt). – jeroenh
@jeroenh: Ja, ich habe impliziert, dass du 'Count()' überhaupt nicht benutzen musst. Ich werde das klarer machen. –