2012-11-15 54 views
0

我有以下的EF表達:EF選擇內選擇

var complexes = db.ResidentialComplexes.AsNoTracking() 
       .Where(rc => rc.MasterEntity == entity) 
       .Select(rc => new CustomComplexObj() 
       { 
        ComplexId = rc.ComplexId, 
        Name = rc.Name, 
        Region = rc.Region, 

        Properties = rc.CurrentProperties.Select(p=> new CustomPropertyObj(){ 
         Name = p.Name, 
         PropertyId = p.PropertyId 
        }).ToList() 

       }).ToList(); 

即時得到一個錯誤的設置時:

Properties = rc.CurrentProperties.Select(p=> new CustomPropertyObj(){ 
          Name = p.Name, 
          PropertyId = p.PropertyId 
         }).ToList() 

這是錯誤:

LINQ到實體不識別方法'System.Collections.Generic.List 1[CondoTrack.Model.Poco.CustomPropertyObj] ToList[CustomPropertyObj](System.Collections.Generic.IEnumerable 1 [CondoTrack.Model.Poco.CustomPropertyObj])''方法,並且此方法不能轉換爲sto重新表達。

關於如何獲得所需結果的任何線索?

+0

什麼是錯誤? – CodingGorilla

回答

0

刪除ToList()並將Properties類型更改爲IEnumerable<T>而不是List<T>。正如錯誤中所述,Linq to Entities不支持ToList

+0

太棒了!非常感謝André!只是在等待接受答案。 – VAAA