【发布时间】:2014-02-27 02:50:14
【问题描述】:
请在下面找到我的查询。我试图在下面的查询中运行这个。但是由于在 Select 子句中有 select List of object,查询会抛出异常。
错误是:
LINQ to Entities 无法识别方法 'System.Collections.Generic.List1[TagList] ToList[KBTag](System.Collections.Generic.IEnumerable1[TagList])' 方法,并且此方法无法转换为存储表达式。
//KBArticle class
public class KBArticle{
public int ArticleId{get;set;}
public ControlId{get;set;}
public List<TagList> Tags {get;set;}
}
//TagList class
public class TagList
{
public int TagId{get;set;}
public string Name{get;set;}
}
public List<KBArticle> GetArticleList(List<int> controlIds)
{
using (var entity= new DBContext())
{
var kbArticleList = (from article in entity.Article
where controlIds.Contains(article.ControlId)
join control in entity.SU_Control on article.ControlId equals control.ControlId
where article.IsActive &&control.IsActive
select new KBArtcle{
ArtcleId=article.ArticleId,
ControlId=control.ControlId,
Tags=(from Tag in entity.KbTag where tag.artcleId==article.ArtcileId
Select new TagList{
TagId=Tag.Id,
TagName=Tag.Name
}).ToList()
}).ToList();
return kbArticleList;
}
}
您能为上述查询提供有效的解决方案吗?我在对象列表中选择了对象列表。在LinQ中是否可以。
【问题讨论】: