我正在使用实体框架构建asp.net mvc应用程序,并且尝试按列表排序。通过动态更改名称,可以根据该名称存在数据库中。
bids = bids.OrderBy(s => s.PublisherName);
和对象:
public string PublisherName { get { db.Publishers.Find(pubid).Name; } }
但是我遇到一个例外:
LINQ to Entities不支持指定的类型成员'PublisherName'。仅支持初始化程序,实体成员和实体导航属性。
我能做什么?以及如何使它起作用?
谢谢。
最佳答案
仅初始化器,实体成员和实体导航属性
支持。db.Publishers.Find(pubid).Name;
既不是初始化程序,也不是实体成员,也不是导航属性。
一种可能的方法是使用AsEnumerable()将其带入内存:
bids = bids.AsEnumerable().OrderBy(s => s.PublisherName);
只要出价是一小部分对象,这将完美地工作。