Asp不会为oData查询生成异常

时间:2015-09-28 14:38:39

标签: asp.net odata asp.net-web-api self-hosting

我正在使用oData控制器开发WebApi自助主机应用程序。  我有一些基本控制器与方法get

public class ODataControllerBaseClientFilter<T> : ODataControllerBase<T> where T : class, IClientId, new()
    {
        public ODataControllerBaseClientFilter(IDataService<T> service) : base(service)
        {
        }

        public override IQueryable<T> Get(string query = null)
        {
            var a = base.Get(query).ToArray();
            return base.Get(query);
        }
    }

将EF实体映射到数据库时出错,因此如果我使用代码执行查询

var a = base.Get(query).ToArray();

EF将正确生成异常并向客户端返回错误。

但是,如果我将删除此行并返回IQuerible对象,那么没有任何异常,客户端没有任何结果!我该如何解决这个问题?

UPD:错误文本

  

{“无法确定类型的复合主键排序   'Lk.Search.Data.Models.ReportClient'。使用ColumnAttribute(请参阅   http://go.microsoft.com/fwlink/?LinkId=386388)或HasKey方法   (见http://go.microsoft.com/fwlink/?LinkId=386387)指定一个   订购复合主键。“}

UPD2:我使用jquery ajax从oData服务获取数据(用于测试我只是使用来自浏览器的get请求)

0 个答案:

没有答案