是否有任何自动方法可以避免EF Web API中的自引用循环问题,以及 我想知道LazyLoadingEnabled = false对Web API应用程序性能的影响
我首先在ASP.Net 4.5 Web API中使用EF数据库
但是当尝试从Web API获取数据时出现错误
错误检测到类型System.data.entity的自引用循环 发生
然后我设置
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling
= Newtonsoft.Json.ReferenceLoopHandling.Ignore;
它会修复错误,但它会返回大量数据:
[
employee1 : {
name: "name",
department : {
name: "departmentName",
employees : [
employee1 : {
name: "name",
department : {
name: "departmentName",
employees : [
employee1 : {
name: "name",
department : {
and again and again....
}
]
}
}
]
}
}
然后我在datacontext
中禁用了LazyLoadingthis.Configuration.LazyLoadingEnabled = false;
现在只撤回所需数据,但我想知道这种方法有什么交易吗?
Datacontext位于单独的类库中,并被其他项目使用,是否会影响应用程序的性能?
它不是exclude-reverse-navigation in EF的副本我正在寻找一些设置更改或修复(我可以更改TT生成器文件,如果它解决了问题)不止一个人正在处理项目而我不能强迫他人以特定方式编写代码。