Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 从数据库检索屏幕截图时出现问题_Asp.net Mvc 3_C# 4.0_Orm - Fatal编程技术网

Asp.net mvc 3 从数据库检索屏幕截图时出现问题

Asp.net mvc 3 从数据库检索屏幕截图时出现问题,asp.net-mvc-3,c#-4.0,orm,Asp.net Mvc 3,C# 4.0,Orm,我有一堆截图和一些截图元数据,我试图在ASP.NET MVC 3 web应用程序中显示,我试图从数据库中检索数据,但出现以下错误: LINQ to实体无法识别方法“System.Drawing.Image” ByteArrayToImage(Byte[])方法,并且无法转换此方法 转换为存储表达式 这是我的密码: var screenshotData = (from screenshots in db.screenshots w

我有一堆截图和一些截图元数据,我试图在ASP.NET MVC 3 web应用程序中显示,我试图从数据库中检索数据,但出现以下错误:

LINQ to实体无法识别方法“System.Drawing.Image” ByteArrayToImage(Byte[])方法,并且无法转换此方法 转换为存储表达式

这是我的密码:

    var screenshotData = (from screenshots in db.screenshots
                              where screenshots.projects_ID == projectID
                              select new ImageInformation
                              {
                                  ID = screenshots.id,
                                  Language = screenshots.language,
                                  Screenshot = Utility.ByteArrayToImage(screenshots.screen_shot),
                                  ProjectID = screenshots.projects_ID
                              });

    foreach (ImageInformation info in screenshotData)
    {
        this.Add(info);
    }
ImageInformation只是一个简单的类,它包含存储的信息的定义(ID、语言、屏幕截图、ProjectID)

下面是我的ByteArrayToImage函数:

public static Image ByteArrayToImage(byte[] byteArrayIn)
{
    using (MemoryStream ms = new MemoryStream(byteArrayIn))
    {
        Image returnImage = Image.FromStream(ms);
        return returnImage;
    }
} 
有人能告诉我为什么我在代码运行时收到这个错误吗


谢谢。

我认为这是因为,使用LINQtoEntities,代码被转换为服务器端查询,在这种情况下它不能这样做。我不认为可以将这样的客户端代码直接与L2E混合使用


我怀疑在从数据库中检索数据之后,您将不得不执行从字节->图像的转换,这是一个独特的步骤

无法在LINQ to实体查询中执行此功能。。。一种选择:


1) 在您正在实例化的对象(ImageInformation)上有一个byte[]属性,并将其中的数据与另一个属性一起复制,以便从此ImageInformation对象读取图像。

奇怪的是,我认为这与LINQ to SQL一起工作。。无论如何,我会添加一个工作环境,谢谢!