AutoMapper和Linq表达式

时间:2010-03-09 19:30:27

标签: lambda automapper

我将从AutoMapper生成的Dto暴露给我的WCF服务。 我想从WCF提供类似的东西: IList GetPersonByQuery(表达式>谓词); 不幸的是我需要一个Person的表达式树,因为我的DAL不知道DTO。 我正在努力取得成功:

        var func = new Func<Person, bool>(x => x.FirstName.Contains("John"));
        var funcDto = Mapper.Map<Func<Person, bool>, Func<PersonDto, bool>>(func);
        Console.WriteLine(func.ToString());
        Console.WriteLine(funcDto.ToString());

我得到的错误是:

----> System.ArgumentException : Type 'System.Func`2[TestAutoMapper.PersonDto,System.Boolean]' does not have a default constructor

你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

AutoMapper不支持与表达式或委托的映射。如果您试图手动编写该映射,我想您会明白为什么:)