Sam*_*nes 5 c# linq entity-framework
是否可以orderby在实体上使用虚拟属性?
我有一个类似于的类:
public int Id{get;set;}
public string Name {get;set;}
public virtual string TestName
{
get { return string.Format("{0}{1}", Name , Id); }
}
Run Code Online (Sandbox Code Playgroud)
当我通过TestName属性订购时,我收到错误:
"LINQ to Entities不支持指定的类型成员'TestName'.仅支持初始化程序,实体成员和实体导航属性."
我最初在部分类中使用了该方法,该属性用于返回数据但不用于排序.
有没有解决的办法?
您不仅.OrderBy(x => x.TestName)必须.ToList().OrderBy(x => x.TestName)在 EF 查询上使用。
这是因为该TestName属性不作为数据库表中的列存在,并且查询无法转换为 SQL 语句。该.ToList()调用会将查询具体化为 C# 集合,然后可以对其进行排序。
| 归档时间: |
|
| 查看次数: |
636 次 |
| 最近记录: |