我喜欢在using语句中包含我的数据访问,以使自己对垃圾收集感觉良好.我正在运行Visual Studio 2013 Preview并以.NET 4.5为目标.我有一个叫做WordsController的ApiController:
public class WordsController : ApiController
{
// GET api/<controller>
public IEnumerable<Keyword> Get()
{
using (TestDataContext dc = new TestDataContext())
{
return dc.Keywords;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,告诉我在访问数据之前已经处理了datacontext.
将代码更改为此工作原理:
public class WordsController : ApiController
{
// GET api/<controller>
public IEnumerable<Keyword> Get()
{
TestDataContext dc = new TestDataContext();
return dc.Keywords;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么不在usingDataContext 时才能工作?