【发布时间】:2012-06-05 18:41:12
【问题描述】:
当我尝试查询其中包含 varbinary 字段的实体时出现错误:
“LINQ to Entities 不支持 LINQ 表达式节点类型 'ArrayIndex'。”
这是我的查询:
Dim query = From entity In db.Entity
Where entity.Id= Id
Select entity.VarBinaryField
If query.FirstOrDefault IsNot Nothing Then
bytes = query.First.ToArray
Return File(bytes, System.Net.Mime.MediaTypeNames.Application.Octet, "test")
End If
当我检查查询不是空的时候,就会产生错误。
任何建议将不胜感激!
谢谢!
【问题讨论】:
-
entity.VarBinaryField的类型是什么(在您的模型类中,而不是在数据库中)?我想知道你为什么申请ToArray。顺便说一句:您正在运行两次查询(FirstOrDefault和First都命中数据库)。最好这样做:x = query.FirstOrDefault if x InNot Nothing Do something with x.
标签: vb.net asp.net-mvc-3 linq entity-framework-4.1