簡體   English   中英

LINQ 表達式中的 OData $top 查詢無法轉換,將使用 EF Core 和 .NET Core 2.2 在本地進行評估

[英]OData $top query in LINQ expression could not be transalted and will be evaluated locally using EF Core and .NET Core 2.2

我的 .NET Core API 中有一個 OData 端點:

[EnableQuery]
[ODataRoute]
[HttpGet]
public IQueryable<MerchantDto> GetAll()
{
    return _context
        .Merchants
        .Where(x => !x.IsDeleted)
        .ProjectTo<MerchantDto>(_mapper.ConfigurationProvider);
}

它生成一個沒有LIMIT語句(postgres db)的 SQL 並出現此警告:

LINQ 表達式“Take(__TypedProperty_1)”無法翻譯,將在本地進行評估。

如何對 DB 進行此查詢以包含 OData $top 它總是首先獲取整個表記錄。

我有一個錯誤的 object 映射配置導致該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM