ef-code-first – 在WebAPI Controller中序列化EF Code First 5.
我原来问过这个问题:
已经回答了 How Do I Resolve “A specified Include path is not valid”?,而我的.Include()现在正在工作,但是,当序列化程序试图使它变得神奇时,我收到以下错误: You must write an attribute 'type'='object' after writing the attribute with local name '__type'. 这是我正在做的返回数据: var everything = dc.Categories .Include(c => c.Products); 我的类定义相当简单: public class Category { public int CategoryId { get; set; } public string Title { get; set; } public virtual ICollection<Product> Products { get; set; } } public class Product { public int ProductId { get; set; } public string Title { get; set; } public virtual Category Category { get; set; } } public class ProductDataContext : DbContext { public DbSet<Category> Categories { get; set; } public DbSet<Product> Products { get; set; } } 我也尝试删除’虚拟’,但后来我得到循环引用.我尝试将ICollection产品上的setter设置为私有(如此处建议:http://forums.asp.net/t/1773164.aspx/1),这样可以清除错误,但之后我的产品不是返回的JSON的一部分. 我需要做些什么来使数据与类别及其产品序列化? 编辑 [SerializationException: Object graph for type 'System.Collections.Generic.List`1[[Test.Models.Product,Test.Models,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null]]' contains cycles and cannot be serialized if reference tracking is disabled.] System.Web.Http.WebHost.HttpControllerHandler.EndProcessRequest(IAsyncResult result) +30206 System.Web.Http.WebHost.HttpControllerHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +10 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9478661 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +178 解决方法
为了解决这个问题,我需要:
>禁用延迟加载,和 希望这有助于某人. 为了解决XML-ish错误,我在这里使用了帮助: 为了解决循环引用的问题,我以此为指导: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – PostBackUrl没有将Page.IsCrossPagePostBack设置
- asp.net-mvc – ASP.NET MVC自定义授权
- asp.net-mvc – 设置debug = false实际导致远程SLOWER渲染?
- asp.net-mvc – 重定向到mvc中的actionresult但不想通过返回
- asp.net-mvc – ASP.Net C#Razor显示编码的HTML而不是原始的
- asp.net-core-mvc – 在Entity Framework Core中使用[Compl
- 实体框架 – 实体框架核心更新许多对许多
- asp.net-core – ASP.NET 5中RegisterObject / QueueBackgr
- ASP.NET MVC Razor:三元
- 是否可以在IIS中禁用ASP.NET网站睡眠?
- ASP.NET:web.config在哪里/如何缓存?
- ASP.NET会话已过期或无法找到 – >因为Session.S
- asp.net-mvc-3 – MVC3正确的方式来改变每个请求
- asp.net-mvc – 无法加载文件或程序集Microsoft.
- ASP.NET Core / MVC 6 ViewModel中的依赖注入(DI
- asp.net – 数据库加密或应用程序级加密?
- asp.net – iFrame中的Response.Redirect(),重定
- 深入理解Asp.Net中WebForm的生命周期
- asp.net – 从Web页面录制音频
- asp.net-mvc – ActionResult返回类型的要点是什