2017-07-31 37 views
0

作为Automapper的新增功能时使用自定义构造函数,我有一个关于projectTo方法的问题。如何在使用ProjectTo

下面是一些背景:

我取地址对象关联的帐户或用户。

然后,我想将它们投影到标记了该类型的地址列表中。

IQueryable<AddressTagged> q1 = _users.Query() 
      .Select(x => x.Address) 
      .ProjectTo<AddressTagged>(); 

IQueryable<AddressTagged> q2 = _accounts.Query() 
      .Select(x => x.Adress) 
      .ProjectTo<AddressTagged>(); 

AddressTagged具有与Address相同的成员,并且AddressType是枚举(帐户或用户)。

我该如何改变projectTo的调用来将AddressType设置为适当的值?

谢谢你的阅读和你的答案!

回答

0

您需要ConstructProjectionUsing。 An example

+0

感谢您的这一点,但我没有得到如何正确使用它。 在示例: 'cfg.CreateMap <源,目的地>() .ConstructProjectionUsing(SRC =>新目的地(src.Value + 10));' 我怎样才能获得该 “+ 10” 的参数投影时: '_dest = values.ProjectTo (Configuration).ToArray();' ? –

+0

那么,这是一个不同的问题:)通常情况下,答案是在[文档](https://github.com/AutoMapper/AutoMapper/wiki/Queryable-Extensions#parameterization)。 –