C# 在实体框架中包含选项

C# 在实体框架中包含选项,c#,entity-framework,lazy-loading,relation,C#,Entity Framework,Lazy Loading,Relation,例如,我有两个表: 表用户和表国家(关系国家,按一对多,外键国家/地区ID)。 我设定 然后我想获得具有国家/地区关系的列表用户 我这样做 var res = DataEntities.Users.Include(u=>u.Countries).ToList(); return res; 问题是结果列表有循环引用(用户->国家->用户等) 我如何摆脱循环引用?我需要的结果列表包含与国家的用户,但没有从他们的国家对用户再次引用 为什么要避免循环引用?这是序列化问题吗?因为我不想为您拖动额外

例如,我有两个表: 表用户和表国家(关系国家,按一对多,外键国家/地区ID)。 我设定

然后我想获得具有国家/地区关系的列表用户 我这样做

var res = DataEntities.Users.Include(u=>u.Countries).ToList();
return res;
问题是结果列表有循环引用
(用户->国家->用户等)

我如何摆脱循环引用?我需要的结果列表包含与国家的用户,但没有从他们的国家对用户再次引用

为什么要避免循环引用?这是序列化问题吗?因为我不想为您拖动额外的数据!我觉得您需要规范化数据库我的数据库由两个表组成,如Example@Mikhail:但您不会从数据库中获取任何额外数据。如果禁用延迟加载,
Country.Users
仅包含已加载到上下文的用户。
var res = DataEntities.Users.Include(u=>u.Countries).ToList();
return res;