2012-04-13 114 views
1

如何在连接多个结果集的LINQ连接中使用ValueInjecter?例如,此代码将result值注入到CombinedResult对象中,但我也想将​​值的一些值转换为CombinedResult。该属性具有相同的名称:ValueInjecter - 将多个结果集合加入1个集合LINQ?

var combined = from result in results.DeferredItems 
       join errorsAndWarning in errorsAndWarnings.DeferredItems 
       on result.MeetingID equals errorsAndWarning.MeetingID 
       select new CombinedResult().InjectFrom(result) as CombinedResult; 

谢谢。

回答

3

使用此:

var combined = from result in results.DeferredItems 
       join errorsAndWarning in errorsAndWarnings.DeferredItems 
       on result.MeetingID equals errorsAndWarning.MeetingID 
       select new CombinedResult().InjectFrom(result) 
              .InjectFrom(errorsAndWarning) 
              as CombinedResult; 
+0

哎,大牛,为什么这不是IQueryable的数据源的工作?有没有办法内部连接两个表并映射到视图模型? thx – dfang 2012-08-16 14:31:34

+0

@dfang:“不工作”不是错误描述。你的代码有什么问题? – 2012-08-16 15:31:44

+0

“LINQ to Entities does not recognized the method'System.Object InjectFrom(System.Object,System.Object [])'method,this method can not be translated into a store expression。” \t 看到我的问题在这里:http://stackoverflow.com/questions/11988573,thx! – dfang 2012-08-16 15:55:32