实体框架 – Asp.Net Web API错误:’ObjectContent`1’类型无法
发布时间:2020-12-15 18:46:55 所属栏目:asp.Net 来源:网络整理
导读:最简单的例子,我收集并尝试通过Web API输出: // GET api/itemspublic IEnumerableItem Get(){ return MyContext.Items.ToList();} 我得到错误: Object of type ‘System.Data.Objects.ObjectQuery`1[Dcip.Ams.BO.EquipmentWarranty]’ cannot be converte
最简单的例子,我收集并尝试通过Web API输出:
// GET api/items public IEnumerable<Item> Get() { return MyContext.Items.ToList(); } 我得到错误:
这是一个很常见的错误,与新的代理,我知道,我可以通过设置: MyContext.Configuration.ProxyCreationEnabled = false; 但是,这违背了我正在努力做的很多目的。有没有更好的办法? 解决方法
我建议仅在不需要或导致麻烦的地方禁用代理创建。您不必全局禁用它,您只需通过代码禁用当前的数据库上下文…
[HttpGet] [WithDbContextApi] public HttpResponseMessage Get(int take = 10,int skip = 0) { CurrentDbContext.Configuration.ProxyCreationEnabled = false; var lista = CurrentDbContext.PaymentTypes .OrderByDescending(x => x.Id) .Skip(skip) .Take(take) .ToList(); var count = CurrentDbContext.PaymentTypes.Count(); return Request.CreateResponse(HttpStatusCode.OK,new { PaymentTypes = lista,TotalCount = count }); } 这里我只是在这个方法中禁用了ProxyCreation,因为每个请求都创建了一个新的DBContext,因此我只禁用了这种情况下的ProxyCreation。希望它有帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何为多行TextBox设置maxlength?
- asp.net – 如何Html.Encode在Webforms
- asp.net-mvc – Orchard查询按内容类型BlogPost和某些BlogI
- 调试 ASP.NET Core 2.0 源代码
- asp.net-mvc – Action()和RenderAction()之间的区别?
- 细说ASP.NET Forms身份认证
- 为什么私有事件处理程序在ASP.NET中不起作用
- asp.net – 如何设置MVC应用程序的默认页面?
- asp.net-mvc – Steve Sanderson的BeginCollectionItem帮助
- asp.net – 在IIS中启用内容过期可能有什么缺点?
推荐文章
站长推荐
热点阅读