如何找出自动记录器的错误

本文关键字:错误 记录器 何找出 | 更新日期: 2023-09-27 18:01:55

我用的是automapper。代码看起来像这样:

var processedRecords = await queriedRecords.Project(x =>   
                               Mapper.Map<BsonDocument, RecordViewModel>(x)).ToListAsync();

我的问题是我不能把System.Diagnostics.Debug.WriteLine()放入映射定义中。有没有办法知道哪个记录自动器出错了?我一直在做的方式是把断点和点击继续,但现在我正在与数百万条记录的数据库工作,所以显然这是不实际的。

异常是"对象引用未设置为对象的实例"。我假设这意味着这个物体没有我要映射的属性,但它与q无关,更感兴趣的是这个理论。

如何找出自动记录器的错误

好吧,你可以Debug.WriteLine()放在这里。把它变成一个块,而不是一个表达式:

var processedRecords = await queriedRecords.Project(x =>
    {
        System.Diagnostics.Debug.WriteLine(x);
        return Mapper.Map<BsonDocument, RecordViewModel>(x);
    }).ToListAsync();

你也可以把try/catch围绕Mapper.Map<,>()调用,如果你想现在。