如何找出哪些记录自动映射错误?

时间:2015-07-08 21:53:37

标签: c# automapper

我正在使用automapper。代码看起来像这样:

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

我的问题是我无法将System.Diagnostics.Debug.WriteLine()放在地图定义中。有没有办法知道哪个记录自动播放器出错?我一直在这样做的方法是设置一个断点并点击继续,但现在我正在使用一个拥有数百万条记录的数据库,所以很明显这是不切实际的。

异常是&#34;对象引用未设置为对象的实例。&#34;我假设这意味着该对象没有我想要映射的属性,但它与q无关。对这里的理论更感兴趣。

1 个答案:

答案 0 :(得分:2)

嗯,你可以在你的lambda中实际放置一个Debug.WriteLine()。只需将其设为块而不仅仅是表达式:

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

如果您愿意,还可以在try电话周围加catch / Mapper.Map<,>()