0

我有以下 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 to Entities 无法识别方法 'System.Collections.Generic.List 1[CondoTrack.Model.Poco.CustomPropertyObj] ToList[CustomPropertyObj](System.Collections.Generic.IEnumerable1[CondoTrack.Model.Poco.CustomPropertyObj])' 方法,并且此方法无法转换为存储表达式。

关于如何获得所需结果的任何线索?

4

1 回答 1

0

删除并将类型ToList()更改为而不是。正如错误中所述,Linq to Entities 不支持。PropertiesIEnumerable<T>List<T>ToList

于 2012-11-15T19:32:25.680 回答