C# .NET Core 6.0 — IQueryable, OData и сопоставленная функция, вызванная из оператора LINQ, не может быть переведена [дуC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# .NET Core 6.0 — IQueryable, OData и сопоставленная функция, вызванная из оператора LINQ, не может быть переведена [ду

Сообщение Anonymous »

У меня возникли проблемы с OData, IQueryable и сопоставленными функциями, вызываемыми из операторов LINQ.
Это в функции (создание IQueryable) ):

Код: Выделить всё

IQueryable queryable =
_aContext.AView
.FromSqlRaw(sql).AsNoTracking()
.OrderBy(linqOrderByClause)
.Select(x => new AvailableView()
{
Afield1 = x.Afield1
Afield2 = ConvertSomething(x.Afield2)
});
Вот сопоставленная статическая функция ConvertSomething (ну, не совсем, я просто хочу показать, что эта функция может быть такой простой):

Код: Выделить всё

private static string ConvertSomething(string Afield2)
{
return Afield2;
}
Этот IQueryable выполняется в некотором созданном нами классе «постраничного ответа», и когда придет время выполнить IQueryable, вот часть кода:
Этот IQueryable выполняется в некотором классе «постраничного ответа», который мы создали, и когда придет время выполнить IQueryable, вот часть кода:
р>

Код: Выделить всё

ODataQuerySettings settings = new ODataQuerySettings();

// ODataQueryOptions options is passed into this function
if (options != null)
{
if (options.Filter != null)
{
queryable = options.Filter.ApplyTo(queryable, settings) as IQueryable;
}

if (options.OrderBy != null)
{
queryable = options.OrderBy.ApplyTo(queryable, settings) as IQueryable;
}

if (options.SelectExpand != null)
{
queryable = options.SelectExpand.ApplyTo(queryable, settings) as IQueryable;
}
}

List dataPage = queryable
.Skip(skip)
.Take(take)
.ToList(); 

Подробнее здесь: [url]https://stackoverflow.com/questions/78799902/c-sharp-net-core-6-0-iqueryable-odata-and-mapped-function-called-from-linq[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»