将我的第一个刺作为使用 LinqDataSource 的 OnSelecting 方法,以便我可以指定更复杂的查询,我写了这个:
protected void CategoriesDataSource_OnSelecting(object sender, LinqDataSourceSelectEventArgs e)
{
using (DataLayerDataContext db = new DataLayerDataContext())
{
e.Result = (from feed in db.Feeds
where feed.FeedName.StartsWith("Google")
select feed.MainCategory).Distinct();
}
}
当然,问题在于 using 子句将 Dispose DataLayerDataContext。“解决方案”是在没有它的情况下编写它,但我担心上下文不会被及时处理,它会留下一堆连接打开,直到垃圾收集运行,等等。
我不是这方面的专家,所以对这是否是一个真正的问题有任何评论,还是我担心白费?