Преобразование типа выражения Linq

Просто два быстрых вопроса

1. Что называется приведенным ниже утверждением?

Func predicate

2. Как он отличается от нижнего?

Expression>

3.How do i convert Func to Func. Seems like advanced stuff me

<Сильный> Пример

GetUsers(Func predicate)
{    
  return EfContext.Users.Where ( convert above predicate to be passed here)
                        .Cast<>();       
}
1
nl ja de
@mdcuesta # 2 ответил по вашей ссылке, №1 и №3 остаются открытыми
добавлено автор Deeptechtons, источник
@DennisTraub разделил их на отдельные вопросы Я бы отказался от забвения, что не могу отвечать за ответы Google
добавлено автор Deeptechtons, источник
@SWeko добавил пример, в основном метод GetUsers лежит на интерфейсе, который будет вызываться внутри контроллеров asp.net mvc. Реализация будет выполнять предикат в контексте Entity Framework Context, который имеет другой тип Users . Я хочу запустить предикат, который Интерфейс попадает в объекты контекста инфраструктуры сущности
добавлено автор Deeptechtons, источник
@phoog Но тогда я буду выполнять против пользователя. Без разделения проблем, мне было бы трудно отследить, откуда изменяется UserEntity
добавлено автор Deeptechtons, источник
Приведите пример конкретной проблемы, которую вы пытаетесь решить. Запросы, которые вы задали, практически невозможно ответить без какого-либо контекста.
добавлено автор phoog, источник
Не мог ли ваш GetUsers использовать Func вместо Func ?
добавлено автор phoog, источник
@Deeptechtons в этом случае, и если предположить, что пользовательский объект и userDto имеют общий интерфейс, вы, вероятно, можете взять Expression > и создать посетителя выражения, который создает эквивалент Expression > , который можно передать в контекст EF. Ссылка Дэнни Чена объясняет это.
добавлено автор phoog, источник
@DennisTraub да? Как полезно сказать, что вопрос является дубликатом самого себя?
добавлено автор phoog, источник
Первый называется предикатом. У второго нет имени, но я собираюсь назвать его Аль.
добавлено автор SWeko, источник
Можете ли вы привести пример того, как будет использоваться № 3?
добавлено автор SWeko, источник
На самом деле это три вопроса. Возможно, вы захотите разделить их на отдельные вопросы, чтобы лучше соответствовать формату Q & A.
добавлено автор Dennis Traub, источник
О, и оператор # 1 называется объявлением переменной
добавлено автор Dennis Traub, источник
Может, по какой-то причине?
добавлено автор Dennis Traub, источник
Возможный дубликат (более чем одним способом): stackoverflow.com/questions/ 14065401/& hellip;
добавлено автор Dennis Traub, источник
@phoog неправильная ссылка, я имел в виду это stackoverflow.com/questions/14065671/& hellip;
добавлено автор Dennis Traub, источник
на вопрос, возможно, уже был дан ответ. [ stackoverflow.com/questions/793571/… [1]: stackoverflow.com/questions/793571/…
добавлено автор mdcuesta, источник

1 ответы

A Func is a built-in delegate that takes a parameter whose type is T and returns a value whose type is TResult. In your question, predicate is a delegate takes an instance of usersDto and returns a bool.

An Expression> is a uncompiled Func, it can be analyzed, or packed into another expression as a part.

Q3: см. мой ответ на этот вопрос .

3
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot