public partial class GoodsCode_EAN
{
public string GoodsCode { get; set; }
public string EAN { get; set; }
}
这是ShopCode每次都是唯一的模型,但EAN不是
var test = _context.GoodsCode_EAN
.FromSql($"SELECT * FROM dbo.fnGoodsCode_EAN({SavedData.Entities.id_cenoprov})")
.GroupBy(p => p.EAN, StringComparer.OrdinalIgnoreCase)
.ToDictionary(g => g.Key, g => g.ToList(), StringComparer.OrdinalIgnoreCase);
所以我只是尝试将具有相同EAN的每个元素分组到字典并获得此异常......
System.NotSupportedException: '无法解析表达式 值(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1 [ProfiKasa.Portal.Models.newModel.CisloZbozi_EAN])。FromSql(“选择 * FROM dbo.fnCisloZbozi_EAN(1)“,__ p_0)。GroupBy(p => p.EAN,__ p_1)':方法'System.Linq.Queryable.GroupBy'的重载是 目前不支持。'
当我删除ToDictionary
时,一切正常......
有任何想法吗?
谢谢!
答案 0 :(得分:1)
实体框架并不会以<Style TargetType="DataGrid" BasedOn="{StaticResource {x:Type DataGrid}}" />
枚举开头。实际上,它并不支持StringComparer
的整个重载,它带有第二个参数(GroupBy
)。
您可以使用IEqualityComparer<T>
作为替代方案,因为它受支持且可以转换为SQL:
ToLower()