1 ضمیمه
مشکل حذف در Entity Framework
سلام به همه ...
(اون تاپیک قبلی قفل شد ، تاپیک جدید زدم)
----------------------------------------------
دوستان من واسه حذف یک سطر بر حسب آیدی اون (سطر از گریدویو) اینطور عمل کردم (عکس ضمیمه)
حذف هم انجام میده ولی سطر اول و دوم رو موقع حذف خطا میده !!!
اینم کد خوندن سطر از گریدویو :
new Ostad_Bll().delete(Convert.ToInt32(dataGridView1.S electedCells[0].Value.ToString()));
نقل قول: مشکل حذف در Entity Framework
این روش هم باز همون مشکل رو داره :
public int Ostad_Delete(int Id)
{
var return_value = 0;
// var Del = Con.Ostad.Where(a => a.O_Id == Id);
var Del = from d in Con.Ostad where d.O_Id == Id select d;
if (Del.Count() != 0)
{
// Con.Ostad.Remove(Del.Single());
Ostad delete_os = Del.First();
Con.Ostad.Remove(delete_os);
Con.SaveChanges();
}
return return_value;
}
نقل قول: مشکل حذف در Entity Framework
بفرمایید این هم کد پاک کردن.با اینتیتی.
void delete()
{
if (dgv1.CurrentRow == null)
{
return;
}
try
{
DialogResult dr;
dr = MessageBoxShow.Show("حذف مورد انتخابی باعث حذف اطلاعات با این کد اشخاص خریدار میشود.", "هشدار حذف", MessageBoxShow.Buttons.YesNo, MessageBoxShow.Icons.Question);
if (dr == DialogResult.Yes)
{
double id = Convert.ToInt64(TxtCodeBank.Text);
var q = db.Tbl_code_bank.Where(a => a.CB_Code_bank == id);
if (q.Count() != 0)
{
db.Tbl_code_bank.Remove(q.Single());
db.SaveChanges();
}
}
Frm_Bank_Load(null, null);
// NewText();
ShowInfo();
}
catch (Exception ex)
{
ClsShowMessageBoxError.Error(102, "139 \n" + ex.Message, "");
}
}
نقل قول: مشکل حذف در Entity Framework
یحتمل با گرید ویو مشکل دراه ...
همه سطر ها حذف میشن بجز سطر 1 و 2 گریدویو !!!
نقل قول: مشکل حذف در Entity Framework
ربطی به دیتاگرید نداره، اگر دقت کنی تا save تغییرات در دیتابیس پیش میره ولی موفق نیست.
احتمال میدم جدول استاد با جدول دیگری رابطه داره در اینصورت با حذف استاد اطلاعات وابسته باعث ایجاد استثناء میشن.
به چه صورت مدل entity رو ایجاد کردی. ef code first, database first و ... ؟
1 ضمیمه
نقل قول: مشکل حذف در Entity Framework
والا من این رو انتخاب میکنم (عکس ضمیمه)
استاد با جدول درس رابطه داره ، اگه ایراد از اینه چرا فقط این دو تا سطر حذف نمیشن !؟
.
.
.
یه مشکل دیگه اینه که خیلی حجم پروژه میره بالا (الان پوشه دیباگ این پروژه 47 مگ شده)
نقل قول: مشکل حذف در Entity Framework
چون این دو عدد از جدول استاد ، در جدول درس به عنوان کلیدخارجی ثبت شدن (این دو استاد دارای درس هستند)
جایی که ارتباط بین دو جدول رو تعیین کردی، update , insert specification را روی cascad بزار. در این صورت با حذف استاد از جدول استاد، اطلاعات وابسته اون استاد هم از جدولهای دیگر حذف میشن.
http://stackoverflow.com/questions/4...cascade-delete
در کل توصیه میکنم اطلاعاتی از دیتابیس delete نکنید. میتونید یک ستون(برای ثبت وضعیت) از نوع bit برای این منظور به جدول اضافه کنید که در صورت نیاز به حذف مقدارش رو به false تغییر بدید و برای نمایش اطلاعات ، سطرهایی رو واکشی کنید که فیلد مورد نظر true هست.
نقل قول: مشکل حذف در Entity Framework
ممنون :)
الان درست شد !
نقل قول:
در کل توصیه میکنم اطلاعاتی از دیتابیس delete نکنید. میتونید یک ستون(برای ثبت وضعیت) از نوع bit برای این منظور به جدول اضافه کنید که در صورت نیاز به حذف مقدارش رو به false تغییر بدید و برای نمایش اطلاعات ، سطرهایی رو واکشی کنید که فیلد مورد نظر true هست.
این قضیه رو چند وقت پیش از یکی از اعضای انجمن (مث شما حرفه ایه) پرسیدم گفت کار درستی نیست (البته من گفتم اون سطر که حذف شده رنگش خاکستری یا تیره بشه و در محاسبات بشمار نیاد)
تعبیرش هم این بود که حذف یعنی حذف !
امام خودم دوس دارم اینو ... حالا که پیش نهاد دادین روش کار میکنم !
نقل قول: مشکل حذف در Entity Framework
نقل قول:
در کل توصیه میکنم اطلاعاتی از دیتابیس delete نکنید. میتونید یک ستون(برای ثبت وضعیت) از نوع bit برای این منظور به جدول اضافه کنید که در صورت نیاز به حذف مقدارش رو به false تغییر بدید و برای نمایش اطلاعات ، سطرهایی رو واکشی کنید که فیلد مورد نظر true هست.
سلام
می شه دلیل حذف نکردنش رو بگید؟