我有一个小型数据库,它将保持小型。这是一个asp.net 4.0网站。 从表的数量和其中的条目数量来看,它很小。 此外,它是用于内部管理的,因此很少有用户会使用它。
是否有一种方法可以在一次调用中加载所有内容?也就是说,不是调用context.Orders.ToList(),context.Customers.ToList()等。
此外,如果存在这样的选项,它是否也会加载所有实体引用?
我知道这是一个奇怪的要求,但我认为在我的情况下,以返回数据的方式更加高效。
谢谢, Itye
我有一个小型数据库,它将保持小型。这是一个asp.net 4.0网站。 从表的数量和其中的条目数量来看,它很小。 此外,它是用于内部管理的,因此很少有用户会使用它。
是否有一种方法可以在一次调用中加载所有内容?也就是说,不是调用context.Orders.ToList(),context.Customers.ToList()等。
此外,如果存在这样的选项,它是否也会加载所有实体引用?
我知道这是一个奇怪的要求,但我认为在我的情况下,以返回数据的方式更加高效。
谢谢, Itye
没有一个命令可以简单地将所有内容加载到内存中。您可以从某个实体开始,并使用Include
方法定义急切加载,但是您无法在没有关系的情况下急切加载实体。
此外,整个方法都有些可疑。为什么你想这样做?你提到了ASP.NET标记,所以似乎你想在客户端之间共享加载的数据?如果您的应用程序不是只读的,那将是非常糟糕的想法。在所有并发请求中共享一个上下文就像共享“事务”一样。
ObjectContext
应该仅用于服务于单个工作单元。在大多数情况下,这意味着Web应用程序中的单个HTTP请求。
您需要明确地加载它;我没有听说过一种将整个上下文加载到内存中的过程,因为在大多数情况下这是行不通的。要加载所有实体引用/集合,也需要调用Include。