【发布时间】:2018-12-27 01:00:13
【问题描述】:
Microsoft 表示 Entity Framework Core 2.1 会向服务器生成 GROUPBY 语句。我有一个使用 Entity Framework Core 2.1.4 的 Azure 函数,但仍然得到:
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,但我仍然遇到问题。
【问题讨论】:
-
如果你只尝试
.GroupBy(x => x.G_ID)会怎样 -
@Camilo 我按 2 列分组,只是为了简单起见。
标签: c# entity-framework-core azure-functions entity-framework-core-2.1