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