با سلام
ببخشید من می خوام مسیر عکس رو داخل دیتا بیس ذخیره کنم
اما با خطای
Cannot add an entity that already exists.
مواجه میشم.
کدم به این شکل هست.
private void BtnSave_Click_1(object sender, EventArgs e) { string nameAx=TxtId.Text; File.Copy(op.FileName, Application.StartupPath + "\\PicStu\\"+nameAx+".jpg",true); string addres = Application.StartupPath + "\\PicStu\\" + nameAx + ".jpg"; MessageBox.Show("OK"); var selected = (from rows in db.InfoStudents where rows.Id == Convert.ToInt32(TxtId.Text) select rows).FirstOrDefault(); selected.ImageStudent = addres; db.InfoStudents.InsertOnSubmit(selected); db.SubmitChanges(); MessageBox.Show("تصویر ذخیره شد"); }
بسیار جالب بود
tbl_SalaryPrice price = new tbl_SalaryPrice(); price.SalaryEmployId_fk = employ.id; price.Price = decimal.Parse(item.Cells["Price"].Value.ToString()); price.DateEn = DateTime.Parse(item.Cells["DateFa"].Value.ToString()); price.DateFa = item.Cells["DateFa"].Value.ToString(); price.image_Directory = ""; price.image_Local = ""; db.tbl_SalaryPrice.Add(price); sum_p += decimal.Parse(item.Cells["Price"].Value.ToString()); #region تصویر string path, pathDir = null; string imgelocal = null; imgelocal = item.Cells["image"].Value.ToString(); if (imgelocal != null && imgelocal != "") { string extension = null; var query_Drive = db.tbl_Setting.FirstOrDefault(); //------------------------------------ path = ":\\program_Coffe\\Salary\\"; pathDir = Convert.ToString(System.IO.Directory.CreateDirectory(query_Drive.tbl_SettingDirectory.Title + path + employ.id)); string namepic = Guid.NewGuid().ToString().Replace("-", ""); extension = System.IO.Path.GetExtension(imgelocal.ToLower()); System.IO.File.Copy(imgelocal, query_Drive.tbl_SettingDirectory.Title + path + pathDir + @"\" + namepic + extension, true); //-------------------------------------------------------- price.image_Local = path + pathDir + @"\" + namepic + extension; price.image_Directory = path + pathDir; } db.SaveChanges();
یک نمونه خودم تو پروژه م استفاده کردم که image_Local مسیر عکس با اسم عکس رو ذخیره میکنه و image_Directory فقط مسیر عکس بدون اسم عکس ذخیره میکنه . و query_Drive هم مثلا میگه تو کدوم درایوت ذخیره شده مثل درایو C یا D یا ...
انشالله مشکلت حل بشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)