每个Controller和Entity Framework DynamicProxies

时间:2018-02-11 20:27:59

标签: c# entity-framework asp.net-web-api2

覆盖ContractResolver Per Controller并使用DynamicProxies

回复EF代码的第一个模型时
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;

0 个答案:

没有答案