覆盖ContractResolver Per Controller并使用DynamicProxies
public virtual ICollection<Dealer>
我收到以下错误:
Der Typ'System.Data.Entity.DynamicProxies.Category_3A79660F329089EEB63C385A2604922D659127A759AE76F676297AF7DC53A144' mit dem Datenvertragsnamen 'Category_3A79660F329089EEB63C385A2604922D659127A759AE76F676297AF7DC53A144:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' wird nicht erwartet。 Verwenden Sie ggf. einen DataContractResolver, wenn Sie DataContractSerializer verwenden,oderfügenSiealle unbekannten Typen statisch der Liste der bekannten Typen hinzu, beispielsweise mithilfe des KnownTypeAttribute-Attributs oder indem Sie sie zur Liste der bekanntenTypenhinzufügen,die das Serialisierungsprogrammübergebenwird。
我在initialize方法中唯一改变的是:
controllerSettings.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
在OWIN启动类中运行相同的代码是完美的。
我不想通过禁用EF代理来解决这个问题:
DbContext.Configuration.ProxyCreationEnabled = false;