У меня есть метод, как это (очень упрощенный вариант):Как вызвать метод без параметров, который возвращает выражение <Func <Model, String >>?
public static Expression<Func<MyModel, String>> GetSomeStatus()
{
return myModel => myModel.IsTrue ? "That's true" : "That's false";
}
Итак, как я могу назвать его в заявлении, как это:
var efRequest = db.Table1.Where(...)
.Select(x => new MyAnotherModel
{
Status = ""; // call GetSomeStatus() here; x is of MyModel type
})
Примечание: Мой первоначальный вопрос был вызвать некоторый вспомогательный метод, который возвращает String
внутри метода Select
, но, конечно, у меня есть исключение, такое как Linq to entities doesn't recognize this method...
, поэтому я попытался переписать его (см. пример выше), но теперь я просто не понимаю, как его называть (я относительно новый в EF). Я знаю про простой AsEnumerable
вызов до Select
, который решает мою первоначальную проблему, но я хочу сохранить этот запрос как IQueryable
для последующих целей.
Обычно вы не можете. Можете ли вы использовать сторонние библиотеки? –
Иван, я мог бы попробовать. Если вы знаете, пожалуйста, поделитесь со мной. –