【发布时间】:2011-06-30 14:13:58
【问题描述】:
我有以下功能,返回匿名类型。
public IQueryable<TabMasterViewModel> GetJsonTabMasterList(string OrderByColumn, string OrderType, int PageSize, int CurrentPage)
{
IQueryable<TabMaster> tabmasters = _tabmasterRepository.GetQueryable().OrderUsingSortExpression(OrderByColumn + " " + OrderType).Skip((CurrentPage - 1) * PageSize).Take(PageSize);
var jsonData = new
{
total = 1,//totalPages,
page = 1,//page,
records = 14, //totalRecords,
rows = (from tm in tabmasters
select new
{
id = tm.colID,
cell = new string[] { tm.colID.ToString(), tm.FirstName, tm.LastName }
}).ToArray()
};
return jsonData;
}
但它会给我以下错误: 无法将类型“AnonymousType#1”隐式转换为 'System.Linq.IQueryable'
我对在下一行定义返回类型函数感到困惑
public IQueryable<TabMasterViewModel> ...
【问题讨论】:
-
将您的返回类型更改为
object。 -
但现在我收到新错误: LINQ to Entities 无法识别方法 'System.String ToString()' 方法,并且此方法无法转换为商店表达。在下一行 cell = new string[] { tm.colID.ToString(), tm.FirstName, tm.LastName }
-
首先您必须检查您的 LINQ 查询是否正常工作。尝试将
tm.colID.ToString()替换为tm.colID。 -
是的,我的 LINQ 查询工作正常。我更新了 tm.colID 的代码。但问题仍然存在..
标签: asp.net asp.net-mvc-3