1
我有一个实体框架语句,用于检查用户是否已经在队列中。看似简单,但由于某种原因,我得到一个异常:“铸塑价值型‘布尔’失败,因为物化值为null无论是结果型的泛型参数或查询必须使用可空类型”为什么会linq .Any()抛出“铸造值类型'布尔'失败,因为物化”?
任何人都知道为什么?
var campaignIds = campaigns.Select(c => c.Id);
return _queuedRecipientRepository.GetTable().Any(q => campaignIds.Contains(q.CampaignId) && q.Recipient.Id == recipient.Id);
请发送已发送到服务器(SQL事件探查器)的SQL。由于某种原因,服务器发送NULL。 – usr 2013-03-21 17:43:03
放置断点并检查campaignIds是否为空(列表中的项目或变量本身) – AaronLS 2013-03-21 17:46:16
尝试在Select的末尾添加ToList()。 – 2013-03-21 17:54:56