我是 Entity Framework 4 的新手。我玩过一些 SQL Server 和 MySQL。我在使用 MySQL 时遇到了延迟加载的问题,我相信 MySQL 连接器不允许在同一连接上进行多个查询 - 它必须首先关闭。
我想运行一个查询,在我的类的一个字段中存储对结果的引用,然后修改/保存它或加载相关数据。但是,上下文已经超出范围并被处理掉了。
class MyClass {
List<AThing> _stuff;
private void ReadStuff() {
using (var context = new MyEntities()) {
_stuff = context.TableOfStuff.ToList();
}
}
// Stuff is used by other methods, bound to controls, etc.
}
那么,是否Stuff
存在没有上下文?据我了解,上下文是更改跟踪等的内容......一旦ToList()
被调用,我的上下文对于另一个查询就没有用了。
我必须避免这种情况吗?有没有更好的方法来实现这一点?我上面错了吗?