c# - 使用语句错误

标签 c# using

当使用 Using 语句时收到此错误

The operation cannot be completed because the DbContext has been disposed.

And While Use Without Using Not 收到错误 出现这个错误的原因是什么?

using (var context = new ProCamContext())
{
    var q = context.CatCamera.Where(p => p.Category.Equals(value)).Select(p => p.CatDetails);
    return Json(q);
}

最佳答案

您的问题无疑是由于延迟执行引起的。

强制该查询评估应该工作,方法是调用一个强制它访问数据库的方法。 ToList 应该足够了:

var q = context.CatCamera
    .Where(p => p.Category.Equals(value))
    .Select(p => p.CatDetails).ToList();

目前,在评估您的查询时,您的上下文将被处理掉并且无法调入数据库。因此错误。

关于c# - 使用语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180036/

相关文章:

c# - 如果返回将在里面,将使用销毁数据

c# - 如何在代码隐藏中将 Click 事件添加到 Ellipse?

c# - 如何将委托(delegate)传递给方法,其中委托(delegate)是非静态的?

c# - 摆脱嵌套的 using(...) 语句

c# - 如果在 using 语句中发生异常,对象是否仍会被释放?

c# - 从同一线程内部中止线程

c# - SqlBulkCopy 给出 InvalidOperationException 错误,我正在插入空值,但表中的所有值都是非空的

c# - 我可以在 C# 中创建一个全局异常处理程序,让代码在之后继续运行吗?

c# - 如何关闭从方法调用返回的 HttpWebResponse

scala - “using”函数