gpt4 book ai didi

c# - Entity Framework 中的 OrderBy 虚拟属性

转载 作者:太空狗 更新时间:2023-10-29 23:20:32 25 4
gpt4 key购买 nike

是否可以orderby实体上的虚拟属性?

我有一个类类似于:

public int Id{get;set;}
public string Name {get;set;}

public virtual string TestName
{
get { return string.Format("{0}{1}", Name , Id); }
}

当我按 TestName 属性排序时,出现错误:

"The specified type member 'TestName' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported."

我原来在分部类中有该方法,该属性用于返回数据但不用于排序。

有解决办法吗?

最佳答案

而不仅仅是 .OrderBy(x => x.TestName) 您必须改为使用 .ToList().OrderBy(x => x.TestName) EF查询。

这是因为 TestName 属性在数据库表中不作为列存在,无法将查询转换为 SQL 语句。 .ToList() 调用会将查询具体化为一个 C# 集合,然后可以对其进行排序。

关于c# - Entity Framework 中的 OrderBy 虚拟属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com