实体框架将实体序列化为包含相关实体的json

时间:2015-05-29 19:44:03

标签: json entity-framework-6

我有一个User实体与系统中的其他实体关系太多。我正在使用AngularJs并希望将User实体序列化为仅包含实体的json。 这是我的选择声明:

var users = unc.Users.Include("Profile").ToList();

将此序列化为json时,它总是会导致

The operation cannot be completed because the DbContext has been disposed

我曾经通过在我的视图中选择我需要的每一列来解决这个问题:

var users = unc.Users.Select(x => new { x.Id ,x.Username,Role=x.Role.Name,x.Email,x.Profile.Name,x.UpdatedAt,x.CreatedAt}).ToList();

但这太难了,需要编写很多代码。我正在寻找理想或更好的解决方案。

由于

1 个答案:

答案 0 :(得分:0)

我在这里找到了一个不错的解决方案。 https://efjson.codeplex.com/

除非您想要包含这些实体,否则这将序列化您的实体,而不包括相关实体。这将避免进入由实体通过反向属性回调的实体引起的循环循环。 同时序列化您想要的相关实体,可以轻松地将实体序列化,并通过JSON返回到AngularJs等脚本。

希望这会让其他人也开心:)