이 코드가 LINQ to SQL에서 작동하는 것을 보았지만 Entity Framework를 사용할 때 다음 오류가 발생합니다.
LINQ to Entities는 'System.Linq.IQueryable'1 [MyProject.Models.CommunityFeatures] GetCommunityFeatures ()'메서드를 인식하지 못하며이 메서드는 저장소 식으로 변환 할 수 없습니다 .`
저장소 코드는 다음과 같습니다.
public IQueryable<Models.Estate> GetEstates()
{
return from e in entity.Estates
let AllCommFeat = GetCommunityFeatures()
let AllHomeFeat = GetHomeFeatures()
select new Models.Estate
{
EstateId = e.EstateId,
AllHomeFeatures = new LazyList<HomeFeatures>(AllHomeFeat),
AllCommunityFeatures = new LazyList<CommunityFeatures>(AllCommFeat)
};
}
public IQueryable<Models.CommunityFeatures> GetCommunityFeatures()
{
return from f in entity.CommunityFeatures
select new CommunityFeatures
{
Name = f.CommunityFeature1,
CommunityFeatureId = f.CommunityFeatureId
};
}
public IQueryable<Models.HomeFeatures> GetHomeFeatures()
{
return from f in entity.HomeFeatures
select new HomeFeatures()
{
Name = f.HomeFeature1,
HomeFeatureId = f.HomeFeatureId
};
}
LazyList는 IQueryable의 기능을 확장하는 목록입니다.
누군가이 오류가 발생하는 이유를 설명 할 수 있습니까?