我希望能够清除数据库上下文缓存,以清除上下文当前正在跟踪的实体。上下文对象有一个ClearCache方法,但它是内部的。我编写了以下代码来调用此方法:
private void ClearContextCache()
{
const BindingFlags FLAGS = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
var method = this.GetType().GetMethod("ClearCache", FLAGS);
method.Invoke(this, null);
}
该方法工作正常。但是我担心清除上下文缓存是否安全。我假设有一个原因,微软的L2S架构师不希望开发人员调用这种方法。有人有这方面的经验吗?
谢谢 - 兰迪