c# - Filtering on a ProjectToList in LINQ -
i using mediatr request visualizationdto
public visualizationresponse handle(visualizationquery message) {     return new visualizationresponse     {         loadtick = datetime.now.ticks,         visualization = new visualizationdto         {             infeed = context.unloaders.projecttolist<infeeddto>(),             levels = context.levels.projecttolist<leveldto>()         }     }; }   these mapped directly dbcontext. problem projecttolist<> maps recursively. in level there's list of buffers , in each buffer there's list of stacks. need map stacks have timeout value of null. don't want filter trough after mapping because might slow down things. , tried
var lq = context.levels; var stacks = lq     .selectmany(l => l.buffers)     .selectmany(b => b.stacklocations)     .where(s => s.timeout == null);  levels = lq.projectto<leveldto>().select(l => new {l, stacks}).tolist().select(x => x.l).tolist()   but values receive aren't filtered ones still full dataset. there other ways filter on projecttolist? 
right have output looks like
list<leveldto> -list<bufferdto>   -list<stacklocationdto>     -stack timein- timeout     -stack timein- timeout     -stack timein- null     -stack timein- null   i need filter out stacks finished not have timeout of null.
the condition executed stacks not lq. try stacks.projectto<leveldto>(), should trick.
Comments
Post a Comment