c# - Automapper:序列不包含任何元素。

标签 c# automapper

像这样将 Automapper 与通用存储库一起使用时:

/// <summary>
/// Gets all DTOs 
/// </summary>
/// <returns></returns>
/// <exception cref="System.ArgumentNullException"></exception>
public virtual IEnumerable<TDto> GetAll()
{
        return Mapper.Map<List<TDto>>(_repository.ReadAll());
} 

如果存储库未返回任何记录,Automapper 会抛出异常“序列不包含任何元素”。

完全有可能调用该方法时记录可能不存在。

有没有办法让 Automapper 在没有记录的情况下返回一个空的 IEnumerable 而不是抛出这个丑陋的异常?

最佳答案

引入一个从存储库读取的变量,检查存储库是否返回任何数据,如果它不为空则映射数据并返回它,否则返回空 IEnumerable ?

关于c# - Automapper:序列不包含任何元素。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979626/

相关文章:

c# - 忽略一项的嵌套列表的自动映射器

c# - 如何在 where 和 between 子句中查询 DBF(dbase) 文件日期类型字段

c# - 来自数据源的 String 类型的给定值无法转换为指定目标列的 float 类型

c# - 如何访问隐藏代码中的html控件

c# - Microsoft Visual Studio C# 安装程序

c# - 将数组自动映射到列表

c# - AutoMapper MapFrom 没有效果

generics - 使用开放泛型进行自动映射并将源代码包含在 ForMember 语句中

c# - 如何使用 Automapper 将更改映射到现有集合?

c# - 为什么Windows Defender设置自动启动时会阻止我的C#应用​​程序?