Comments 8
Так ведь в шарп уже завезли Null-conditional operators:
customer?.Orders?[5]
0
Было бы неплохо, если бы ваш пример демонстрировал работу в действительно унифицированном случае: то есть когда у нас есть IQueryable и мы не хотим знать, что за ним скрывается. То есть в случае если это некий источник данных, то оставляем Expression как есть, а вот в случае, если это IEnumerable — добавляем вызов With.
+1
А что произойдет в вашем случае если мы захотим написать
Ну и я так понял, что если лямбда чуть более сложная, то работать тоже ничего не будет
var authorFirstLetter = GetBookData(isbn, b=>b.Author.Name[0]);
Ну и я так понял, что если лямбда чуть более сложная, то работать тоже ничего не будет
var nameOrFamily = GetBookData(isbn, b => !string.IsNullOrEmpty(b.Author.Name) ? b.Author.Name : b.Author.Family);
0
Sign up to leave a comment.
Унифицируем поведение LINQ to IEnumerable и LINQ to IQueriable в части работы с null значениями. Пример ExpressionVisitor