EF包含()在上下文之间?

时间:2015-05-11 17:04:14

标签: c# asp.net-mvc entity-framework

我在代码优先解决方案中使用了DbContext的两个扩展实例。一个只是只读,因为它映射到一组现有的表用于人口统计目的。另一个上下文映射到本地工作表集。

我创建了一个视图并将其映射到自己的实体,该实体作为POCO模型中的导航属性包含在内,表示映射到其他上下文的实体。所以我的问题是:我可以使用Include跨上下文获取相关实体吗?到目前为止,这并没有出现,因为它抱怨它正在寻找错误模式下的视图 - 用于其他上下文的模式 - 即使视图显然在其映射中定义了正确的模式。

我正在使用带有MVC 4的EF 6。

1 个答案:

答案 0 :(得分:1)

每个上下文都以完全隔离的方式运行,您无法将对象从一个上下文共享到另一个上下文。即使您在notracking模式下从数据库中提取对象,通过将这些对象分配给导航属性,将这些对象与其他上下文相关联的那一刻,您实际上会将它们拉到您不想要的其他上下文中。

如果您有某种类型的只读上下文,那么您可以做的只是在读/写上下文中填写外键ID。

相关问题