C# AutoMapper,如何映射组数

标签 c# automapper

我的模型:

public class StatusDetailsViewModel
{
    public string Status { get; set; }
    public long CountNo { get; set; }
}

我获取数据的函数:

public List<StatusDetailsViewModel> CheckMeetingStatus(long actionId)
{
     List<StatusDetailsViewModel> statusDetails;

     var statuses = _igniteDb.myTable.Where(a => a.actionId == actionId)
                .GroupBy(a => new { a.Status, a.ElectionGroup }).GroupBy(c => new { c.Key.Status})
                .Select(b => new { Status = b.Key.Status, CountNo = b.Count()}).ToList();

     //How to Map statuses to statusDetails??

     return statusDetails;
}

我一直在尝试使用自动映射器来实现这一点。但我不确定如何配置我的映射器。有任何想法吗?

最佳答案

为什么你必须在你的代码中映射。您可以创建 StatusDetailsViewModel 的对象,而不是创建匿名类型。将选择语句更改为 Select(b => new StatusDetailsViewModel() { Status = b.Key.Status, CountNo = b.Count()}

如果您想使用AutoMapper,那么您应该在定义 map /配置文件时定义源和目标类型。您不能使用 AutoMapper 映射匿名类型。

用于创建 StatusDetailsViewModel 对象的代码(不使用 Automapper,因为您不需要您要求的代码)

public List<StatusDetailsViewModel> CheckMeetingStatus(long actionId)
{
     List<StatusDetailsViewModel> statusDetails;

     var statuses = _igniteDb.myTable.Where(a => a.actionId == actionId)
                .GroupBy(a => new { a.Status, a.ElectionGroup }).GroupBy(c => new { c.Key.Status})
                .Select(b => new StatusDetailsViewModel () { Status = b.Key.Status, CountNo = b.Count()}).ToList();

     //How to Map statuses to statusDetails??

     return statusDetails;
}

关于C# AutoMapper,如何映射组数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50366529/

相关文章:

c# - 如何获取导入的MEF函数的汇编信息?

c# - 此解析操作已结束。 Autofac、Automapper 和 IMemberValueResolver

dependency-injection - 将服务注入(inject) AutoMapper 目标类

c# - 复杂第三方对象/类的深层复制

c# - ASP.NET HTML - 文本框非常靠近,需要帮助在它们之间留出空间

c# - 如何找出 EventProperty 名称?

c# - 针对频繁重复发生的事件完成 TPL 的高效信号任务

c# - 在 WebAPI 构造函数中访问请求 (HttpRequestMessage)

entity-framework - 如何使用 Automapper 来映射导航属性 View 模型

c# - 调用 Initialize 后如何在 AutoMapper 中添加映射?