【问题标题】:Automapper - does not recognize string.format methodAutomapper - 不识别 string.format 方法
【发布时间】:2016-01-14 00:52:08
【问题描述】:

我今天遇到了 AutoMapper 库的奇怪行为。为什么第二种情况下的 string.Format 不起作用?你能向我解释为什么第一个案例在第二个抛出异常时有效吗?


映射配置:(工作中)

config.CreateMap<Person, PersonView>().
    ForMember(dest => dest.FullName, opt => opt.
       MapFrom(src => src.Data.Code + " - " + src.Number));

映射配置:(不工作)

config.CreateMap<Person, PersonView>().
    ForMember(dest => dest.FullName, opt => opt.
        MapFrom(src => string.Format("{0} - {1}", src.Data.Code, src.Number)));

投影:

using (var ctx = new MyDbContext())
{
    return ctx.Persons.Include(i => i.Data).Project().To<PersonView>().ToList();
}

例外:

【问题讨论】:

标签: c# entity-framework exception mapping automapper


【解决方案1】:

这与 AutoMapper 没有任何关系。

您实际上是在要求 Entity Framework 将调用方法的表达式(在本例中为 string.Format)转换为 SQL。它不能那样做。

第一个有效,因为它是一个简单的字符串连接,更容易翻译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多