Объясните пожалуйста почему такой
кусок
Func<...> setFileOperation = fo => {}
model.FileLogEntitySets.ToList().Select(f => new FileInfoDTO(){OperationType = setFileOperation(f.OperationType)});
работает,
а вот такой не работает?
model.FileLogEntitySets.Select(f => new FileInfoDTO(){OperationType = setFileOperation(f.OperationType)});
OperationType — типа enum!
Здравствуйте, snaphold, Вы писали:
S>а вот такой не работает?
S>S>model.FileLogEntitySets.Select(f => new FileInfoDTO(){OperationType = setFileOperation(f.OperationType)});
S>
S>OperationType — типа enum!
Наверно, по стандартной причине: model.FileLogEntitySets.Select() хочет преобразоваться в Expression и отправиться на SQL Server выполняться. Но не может, потому что предикат отправить на SQL Server выполняться невозможно.
А model.FileLogEntitySets.ToList().Select() происходит уже на клиенте — и все работает.
Здравствуйте, scale_tone, Вы писали:
_>Здравствуйте, snaphold, Вы писали:
S>>а вот такой не работает?
S>>S>>model.FileLogEntitySets.Select(f => new FileInfoDTO(){OperationType = setFileOperation(f.OperationType)});
S>>
S>>OperationType — типа enum!
_>Наверно, по стандартной причине: model.FileLogEntitySets.Select() хочет преобразоваться в Expression и отправиться на SQL Server выполняться. Но не может, потому что предикат отправить на SQL Server выполняться невозможно.
_>А model.FileLogEntitySets.ToList().Select() происходит уже на клиенте — и все работает.
т.е. toList нормально в данном случае?
Здравствуйте, snaphold, Вы писали:
S>т.е. toList нормально в данном случае?
AsEnumerable() более нормально.