首页 新闻 搜索 专区 学院

求解 AutoMapper.Mapper.DynamicMap 找不到这个方法

0
悬赏园豆:20 [已解决问题] 解决于 2016-09-24 15:12

为什么我在使用AutoMapper.Mapper.Map对类进行映射的时候提示:

Missing type map configuration or unsupported mapping

失踪的类型映射配置或不受支持的映射 

网上找个答案是改成 :

AutoMapper.Mapper.DynamicMap

是这里看到的

http://www.cnblogs.com/darrenji/p/3597547.html

 

但是我这么用提示

Mapper未包含DynamicMap 这个定义

        
坚持的孤独的主页 坚持的孤独 | 初学一级 | 园豆:86
提问于:2016-09-15 16:30
< >
分享
最佳答案
0

AutoMapper 4.0 之后去掉了对 DynamicMap 的支持。

你是怎么写 CreateMap 代码的?

收获园豆:20
dudu | 高人七级 |园豆:37732 | 2016-09-15 16:48

我的 CreateMap 是这样写的 

Mapper.Initialize(x => x.CreateMap<sysFunction, sysFunctionView>());

 Mapper.Initialize(x => x.CreateMap<sysFunctionView, sysFunction>());

求教大神有什么问题吗?

本来想直接用Mapper.CreateMap<sysFunctionView, sysFunction>(); 

但是这个也是老方法,新版本不支持了,求解应该怎么处理

坚持的孤独 | 园豆:86 (初学一级) | 2016-09-15 16:52

@坚持的孤独: 我刚写代码试了一下,这样是可以Map的:

public class A
{
    public int Id { get; set; }
    public string Title { get; set; }
}

public class B
{
    public string Title { get; set; }
}


class Program
{
    static void Main(string[] args)
    {
        Mapper.Initialize(cfg => cfg.CreateMap<A, B>());
        var a = new A { Id = 1, Title = "Hello, World" };
        var b = Mapper.Map<A, B>(a);
        Console.WriteLine(b.Title); //Hello, World
        Console.ReadKey();
    }
}
dudu | 园豆:37732 (高人七级) | 2016-09-15 18:01

@坚持的孤独:
Mapper.Initialize()只能用1次,需要这样写:

var cfg = new MapperConfigurationExpression();
cfg.CreateMap<sysFunction, sysFunctionView>();
cfg.CreateMap<sysFunctionView, sysFunction>();
Mapper.Initialize(cfg);
dudu | 园豆:37732 (高人七级) | 2016-09-15 21:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册