访问从linq到SQL的DataContext

dam*_*pee 3 .net c# linq-to-sql

我有一个linq2sql datacontext被处理掉了.但是当我检查null时,我总是有一个错误的条件.

DataClasses1DataContext dc = new DataClasses1DataContext();
dc.Dispose();
Run Code Online (Sandbox Code Playgroud)

其他一些代码

if (dc == null) {
    // ALWAYS FALSE
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能知道datacontext是否已被处理?

更新:让我澄清一下自己.我得到一个datacontext但有时外部代码传递一个对象(它不是null,但已经被处理掉了).我需要检查对象是否存在.我想的是别的东西,而不是试一试.

SLa*_*aks 5

DataContext类不公开,它可以告诉你它是否被设置任何属性.
但是,您可以通过覆盖Dispose(bool)方法自行创建一个:

public bool IsDisposed { get; private set; }
protected override void Dispose(bool disposing) {
    IsDisposed = true;
}
Run Code Online (Sandbox Code Playgroud)