【发布时间】:2015-05-15 00:01:38
【问题描述】:
我有一个名为 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 字典中。
【问题讨论】:
-
你真的需要
Dictionary吗?一个简单的List<blah>怎么样,其中 blah 是具有 2 个属性的类型? -
.ToDictionary()没有 SQL 版本。您需要从 SQL 中提取数据(将其物化),然后根据需要对其进行按摩 -.ToDictionary().