如何将DataLoadOptions转换为人类可读的字符串?

时间:2014-05-29 17:55:16

标签: c# linq-to-sql

我正在尝试调试错误进程。当我们的LINQ to SQL数据上下文更新了LoadOptions时,会发生错误。有没有办法将DataLoadOptions对象的值转换为人类可读的文本?

以下是错误消息:

EXCEPTION (InvalidOperationException):
    Setting load options is not allowed after results have been returned from a query.
INNER EXCEPTION:
STACKTRACE:
    at System.Data.Linq.DataContext.set_LoadOptions(DataLoadOptions value)

以下是代码:

if (loadOptions != null)
{
    try
    {
        Domain.LoadOptions = loadOptions;
    }
    catch (Exception ex)
    {
        // log and continue
        LogManager.Save(Log.Types.Error, ex);
        LogManager.Save(Log.Types.Warning, "Error setting DataContext LoadOptions, related data may not be loaded.");
    }
}

上面代码的方法是从其他地方调用的,可以传入DataLoadOption对象。如果存在,DataLoadOption对象的LoadWith方法至少会调用一次,可能还会调用AssociateWith方法。

为了协助我的调试,我想将所有LoadWithAssociateWith选项写入我们的日志。或者,任何可以帮助我确定导致此方法的调用链的东西也会有所帮助,因为我确定在调用此方法之前使用了LINQ to SQL DataContext。 (在上面的代码中Domain是我们的DataContext。)

0 个答案:

没有答案