首页 > 解决方案 > ef6 linq 方法为查询中的嵌套条目返回 $ref

问题描述

当我在提琴手中监视结果时,我的 EF6 linq 方法系统返回 $ref。如果我在我的 webapi 中观看本地窗口,一切都会正确填充,但不会在返回的实际结果中。它只影响嵌套条目。有人知道我在做什么错吗?(我在 EF6 中从数据库创建模型)

            var student = dbEF.Accounts
                        .Where(x => x.AccountNumber == acctNum)
                        .Select(x => new DTOCrmDetails()
                        {
                            AccountNumber = x.AccountNumber,

                            CommissionId = x.CommissionId,
                            Commission = x.Commission,

                            ManagerID = x.ManagerID,
                            ManagerName = x.Manager.ManagerName,
                            Manager = x.Manager,

                            Employees = x.Manager.Employees,

                            WireInstructionsUSD = x.Manager.WireInstructionsUSDs

                        //Mapping_ManagersExecutingBrokers = x.Manager.Mapping_ManagersExecutingBrokers

                    }).FirstOrDefault();

        return student;

这些是我的设置。

var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter); config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

标签: linqentity-framework-6asp.net-web-api2

解决方案


您需要在实体框架 dbcontext 中禁用延迟加载。

像这样:

dbEF.Configuration.LazyLoadingEnabled = false;

推荐阅读