Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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
C# LINQ更新图像_C#_Linq - Fatal编程技术网

C# LINQ更新图像

C# LINQ更新图像,c#,linq,C#,Linq,我试图在LINQ中进行简单的图像更新,但除了图像之外的所有其他内容都在更新,并且图像保持不变。。。为什么呢? 这是我的一些代码,有人能告诉我我做错了什么吗 所以,我使用按钮来选择photo,(非常简单),字符串path2是我的路径 using (OpenFileDialog dlg = new OpenFileDialog()) { dlg.Title = "Open Image"; dlg.Filter = "jpg files

我试图在LINQ中进行简单的图像更新,但除了图像之外的所有其他内容都在更新,并且图像保持不变。。。为什么呢? 这是我的一些代码,有人能告诉我我做错了什么吗

所以,我使用按钮来选择photo,(非常简单),字符串path2是我的路径

 using (OpenFileDialog dlg = new OpenFileDialog())
        {
            dlg.Title = "Open Image";
            dlg.Filter = "jpg files (*.jpg)|*.jpg";

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                path2 = dlg.FileName;
                //textBox1.Text = path;
                pictureBox2.ImageLocation = @path2;
                pictureBox2.Refresh();
            }
            dlg.Dispose();
        }
后来,我对价值观进行了修正

 selectedprodukt.Nazwa = modyfikuj_nazwa_produktu.Text;
                selectedprodukt.Cena = Convert.ToDecimal(modyfikuj_cena_produktu.Text);
                selectedprodukt.Opis = modyfikuj_opis_produktu.Text;
                selectedprodukt.Image = File.ReadAllBytes(path2);
                selectedprodukt.Producent = p.First();
                db.SaveChanges();
一切似乎都很好。首先,我可以在picturebox中看到旧图片,然后,当我加载新图片时,它也很好,但随后我单击“保存”,Nazwa、Cena、Opis、Producent会根据需要进行更新,但图像不会


我调试了我的项目,path2有一个合适的值

Linq使用它的特殊类型
System.Data.Linq.Binary
。 因此,您需要修改更新查询,如下所示:

System.Data.Linq.Binary file_binary = new System.Data.Linq.Binary(File.ReadAllBytes(path2));
selectedprodukt.Nazwa = modyfikuj_nazwa_produktu.Text;
selectedprodukt.Cena = Convert.ToDecimal(modyfikuj_cena_produktu.Text);
selectedprodukt.Opis = modyfikuj_opis_produktu.Text;
selectedprodukt.Image = file_binary;
selectedprodukt.Producent = p.First();
db.SaveChanges();

好啊我会联系你的!