我首先使用带有 EF4.1 代码的 MVC3 ajaxgrid 脚手架,我有这个错误:
无法将类型“System.Linq.IQueryable”隐式转换为“System.Data.Objects.ObjectQuery”
带有错误的代码是自动生成的:
public ActionResult GridData(int start = 0, int itemsPerPage = 20, string orderBy = "UserID", bool desc = false)
{
Response.AppendHeader("X-Total-Row-Count", repository.Users.Count().ToString());
ObjectQuery<User> users = (repository as IObjectContextAdapter).ObjectContext.CreateObjectSet<User>();
users = repository.Users.Include(u => u.Role); //ERROR HERE
users = users.OrderBy("it." + orderBy + (desc ? " desc" : ""));
return PartialView(users.Skip(start).Take(itemsPerPage));
}
这是用户存储库方法和角色外键
public IQueryable<Entities.User> Users
{
get { return context.Users; }
}
public IQueryable<Entities.Role>Roles
{
get { return context.Roles; }
}
我该如何解决转换?