我正在使用linq和linq to sql在我的应用程序中进行数据验证。
在查询数据上下文时,如何确定查询不会访问数据库? 我不想仅访问已预先加载的数据并对其进行验证。
让我们说并发在这里不是问题。
答案 0 :(得分:0)
如果你想100%确定,你需要用例如内存中的数据获取数据。查询后ToList()
。
在此之后处理原始datacontext,您可以确保List<>
中的实体不会再次访问数据库。 (他们只是给你一个例外......)
但是,您不会再查询datacontext,因此它不是您问题的完整答案。如果您对 datacontext 执行新查询,据我所知,它将始终命中数据库。 Linq没有内置缓存。