出于与this question相同的原因,我想教会自动播放器投射到下面INC<>
的{{1}}(在这种情况下不回来),类似于{{1} }}
vmodel
我试图在这里一般地做这件事:https://gist.github.com/flavourous/9a2668daa41cfedb8359b26eac319df2
我试图明确地做到这一点:https://gist.github.com/flavourous/d35bac140bb2883ebd82846a2b75ec7e
以下是我遇到的问题:
SomeContext.GetIQueryable<model>().ProjectTo<vmodel>()
public interface INC<T> { T Value { get; set; } }
public class NC<T> : INC<T> { public T Value { get; set; } }
public class model { public int value { get; set; } }
public class vmodel { public IC<String> Value { get; set; } }
内投放
在ForAllMaps中调用ProjectUsing时,参数类型为ProjectUsing
。
ForAllMaps
工作正常,但Expression<Func<object,object>>
上的任何演员都会给我Rewriting child expression..is not allowed because it would change the meaning of the expression。
AM需要将ProjectUsing表达式映射到它从源ProjectUsing((object src)=>new NC<String>("test"))
转换的object src
的查询表达式,并且我想表达它通常会转换为IQueryable
的表达式如果IQueryable
不在那里就行。
X->Y
看起来像一个选项,但我无法在INC<>
内找到Mapper.Configuration.ExpressionBuilder.GetMapExpression<,>()
?