Linq to Entities无法识别方法集合Dictionary

时间:2015-05-14 15:42:33

标签: asp.net linq

我有一个名为EmailDetailModel的模型,其中包含Dictionary字段。

我的查询是:

var query = from email in context.EmailModel
            where rolesForUser.Contains(email.GroupName)
            orderby email.Id descending
            select new EmailDetailModel() 
            {
                From = email.From,
                Id = email.Id,
                message = email.Body,
                subject = email.Subject,
                pathFileName =
                       (from pdf in context.PdfModel
                        where pdf.Email_Id == email.Id
                        select pdf)
                    .ToDictionary(k => k.PathFile, v => v.FileName),
                timeSend = email.ActiveTime};

但是,在尝试将列表发送到视图时,此行发生错误:

View(query.ToPagedList(pageNumber, pageSize));

说:

  

LINQ to Entities无法识别方法' System.Collections.Generic.Dictionary

如果有人可以帮助我,我不确定如何将密钥和值传递给我的pathFileName字典。

1 个答案:

答案 0 :(得分:1)

问题可能是没有像LINQ to Entities可以理解的字典生成转换那样的SQL。

只要LINQ无法转换为SQL语句,我就会遇到类似的错误消息。