首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grid.Mvc +实体框架异常

Grid.Mvc +实体框架异常
EN

Stack Overflow用户
提问于 2016-09-06 05:39:20
回答 1查看 535关注 0票数 0

需要Grid.Mvc的帮助。我正在传递实体框架生成的IQueryable集合并获得异常

行动方法:

代码语言:javascript
复制
public ActionResult Index(int id)
{
        IQueryable<Document> documents = _dbContext.Document;

        var model = new DocumentListViewModel()
        {                Documents = documents
        };

        return View(model);
}

DocumentListViewModel:

代码语言:javascript
复制
public class DocumentListViewModel
{
    public IQueryable<Document> Documents { get; set; }
}

查看:

代码语言:javascript
复制
@model CompanyName.DocFlow.Web2.Models.DocumentListViewModel
@using GridMvc.Html;

@Html.Grid(Model.Documents).Columns(columns =>
                {
                    columns.Add(x => x.CreatedDate).Titled("Дата");//.Filterable(true);
                    columns.Add(x => x.IncomingNumber).Titled("Входящий номер");//.Filterable(true);
                    columns.Add(x => x.Description).Titled("Краткое описание");
                }).WithPaging(10)

例外:

“System.NotSupportedException”类型的异常发生在EntityFramework.SqlServer.dll中,但未在用户代码中处理 附加信息:只支持LINQ实体中排序输入的方法'Skip‘。方法'OrderBy‘必须在方法'Skip’之前调用。

这些文件指出:

如果数据源是数据库(例如),则需要将IQueryable集合传递给网格。Grid.Mvc使用IQueryable接口构造数据集合的查询表达式。 当您转到某个页面时,网格调用.Skip(N).Take(N)方法,当您对数据进行排序时,网格调用OrderBy或OrderByDescending方法等等。

教程链接:Grid.Mvc

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 06:19:49

MVC网格描述:

当您转到某个页面时,网格调用.Skip(N).Take(N)方法,当您对数据进行排序时,网格调用OrderBy或OrderByDescending方法等等。

可以执行排序过程封装字段get方法,也可以在ActionResult方法中执行相同的操作。

示例代码:

代码语言:javascript
复制
public class DocumentListViewModel
{
    private IQueryable<Document> _Documents;
    public  IQueryable<Document> Documents 
   { 
     get 
     { 
        return _Documents.Ordery(x=>x.Id);
     } 
     set 
     { 
        _Documnets = value;
     } 
   }
}

代码语言:javascript
复制
public ActionResult Index(int id)
{
        IQueryable<Document> documents = _dbContext.Document.OrderBy(x=>x.Id);

        var model = new DocumentListViewModel()
        {             
            Documents = documents
        };

        return View(model);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39341348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档