Microsoft говорит, что Entity Framework Core 2.1 генерирует на сервере оператор GROUPBY
.У меня есть функция Azure, использующая Entity Framework Core 2.1.4, но все равно получено:
Microsoft.EntityFrameworkCore.Query: Предупреждение: выражение LINQ 'Sum ()' не может быть переведено и будет оцененолокально.
Microsoft.EntityFrameworkCore.Query: Предупреждение: выражение LINQ 'Count ()' не может быть переведено и будет оценено локально.
Мой запрос:
var q = await db.TblRainGauging5minutes
.Where(x => x.G_ID == 1)
.GroupBy(x => new { x.G_ID })
.Select(g => new {
Id = g.Key.G_ID,
Total = g.Sum(v => v.R_Value ?? 0),
Rows = g.Count()
})
.ToListAsync();
Вот мои настройки проекта:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.ExpressionMapping" Version="2.0.0" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="6.0.0" />
<PackageReference Include="AzureFunctions.Autofac" Version="3.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.1" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.24" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
Что-то не так с моей настройкой или кодом?Может быть, это просто не работает в функции Azure 2?Я изменил целевой фреймворк с netstandard2.0
на netcoreapp2.1.4
и все еще вижу проблему.