2
我有一个对象,表示我的数据库中的表的记录,例如'Project'。调试和属性加载
我的用户类具有不同的属性,这些属性是其他表的记录,例如'客户'或'会计'。那些也有相关表格的属性。
这些属性中的每一个都返回一个本地值(已经加载),如果不为空,并且没有加载的信息,它会生成一个从数据库中获取该值的请求。
我的问题如下:当我设置断点并在调试窗口中检查对象时,它会自动加载属性的所有值,因此请求数据库。
在这种情况下,我目前无法获得对象的精确和静态快照。
有没有一种方法,在代码中,如果在调试窗口中不经过这部分代码? 举例来说,这样的事情:
public MyBaseObject GetProperty<T>(string columnName_, string alias_ = null) where T : MyBaseObject, new()
{
var ret = GetExtract<T>(columnName_, alias_);
// if the data are loaded
if (ret.Id != null)
return ret;
// Fake boolean I would like
if(InDebugWindowAfterAbreakPointForInstance)
return ret;
else
ret = LoadFromDatabase<T>(columnName_, alias_)
return ret;
}
我发现不同的属性与调试器,像DebuggerStepperBoundaryAttribute
,但没有什么可以做类似的东西。
为什么用C#和D标记这个标记?请删除您未使用的语言标签。 –