你能帮我解决这个错误吗?
Cannot access a disposed object.
Object name: 'DataContext accessed after Dispose.'.
在我的GUI中
private void InitializePage()
{
cbCategory.DataSource = stock.StockCategory.Get();
}
Run Code Online (Sandbox Code Playgroud)
在Datamodel
public IEnumerable<StockCategory> Get()
{
using (leDataContext db = new leDataContext())
{
try
{
var r = from s in db.StockCategories
select s;
return r;
}
catch (Exception ex)
{
Logger.Error(typeof(StockCategory), ex.ToString());
throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 12
你正在处理DataContext
但仍然依赖它的东西.
选项:
DataContext
.我知道这听起来很奇怪,但LINQ to SQL团队的指导(以及Matt Warren)表明,在大多数情况下(即如果你没有做任何不寻常的事情),不需要处理ToList()
内部的Get()
方法的using
块.请注意,使用仅具有退化查询的查询表达式是相当没有意义的.(如果这在你自己的代码中,即使隐含Select(s => s)
也不会有用.)
我建议你改变你的方法:
public IList<StockCategory> GetAllStockCategories()
{
using (leDataContext db = new leDataContext())
{
return db.StockCategories.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8451 次 |
最近记录: |