实体框架 – 在模型中使用实体框架复杂类型时,不适用于Web API帮助页面的示例

前端之家收集整理的这篇文章主要介绍了实体框架 – 在模型中使用实体框架复杂类型时,不适用于Web API帮助页面的示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含一些复杂类型的EF代码第一模型.生成Web API控制器的工作没有任何问题,但是在生成Web API帮助页面时,如 http://blogs.msdn.com/b/yaohuang1/archive/2012/08/15/introducing-the-asp-net-web-api-help-page-preview.aspx所述,因此样本不会生成.给出的错误信息是:

使用格式化程序“JsonMediaTypeFormatter”为媒体类型“application / json”生成样本时发生异常.异常消息:发生一个或多个错误.

对于其余的媒体类型也是一样的.我知道前一段时间里有一个复杂的类型和序列化的问题,但是当Json.NET格式化程序默认包含在Web API中时,它就被解决了.

这可以相关吗?任何人有同样的问题吗?有任何想法吗?

解决方法

我的猜测是,这最有可能是由于您的模型所引用的循环.例如,您可以通过对Json格式化程序进行以下更改来尝试生成帮助页面.您应该看到样品生成
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize; 
        config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;

此外,即使在运行时,您也应该看到类似的错误,如果您没有进行上述设置.

对于XmlFormatter和自引用循环,您可以查看here.

猜你在找的HTML相关文章