Entity Framework + Web API、return DbContext 之外的实体(复杂、集合等)

Entity Framework + Web API, return Entities (Complex, collections, etc) outside DbContext

这是我的情况。我在网络上使用 Entity Framework 4 API

我的代码结构非常简单,我有一个服务层,我所有的休息 API 都是组织起来的,我有我的业务逻辑层,我有业务控制器来管理其余调用之间的事务和数据层。最后,我有一个数据层 generic 存储库和一个 DAO 来访问整个东西。

在我的业务控制器中,我使用 using 注入非事务性(只读方法)或事务性(CRUD 方法)DbContext。

当 returning 值到我的 REST API 时,我将其解析为 JSON。

问题是我一直有这个异常:Newtonsoft.Json.JsonSerializationException

我 return 我的实体/集合/列表 在我的 using{} 语句之外 ,我认为默认情况下 EF 不喜欢它。

在调试模式下,有时,我会设法检索所有数据,但并非总是如此。由于我的实体来自 DbContext 中的查询,我认为行为是在处理上下文后删除加载的子属性。

事实是,我想保持结构不变,我想知道以下问题:

有没有办法在离开 using{} 语句后 returning 完整的(不是惰性加载的)实体?

非常感谢

我实际上阅读了更多有关实体框架行为的信息。我得到的实际上是 EF 的标准。我必须强制上下文加载()我引用的实体,以便在离开上下文后获取它们。