PDA

View Full Version : سوال: لود نکردن داده های جدید در entity fremwork بعد از آبدیت آنها در فرمی دیگر



IranVisual
یک شنبه 19 آذر 1391, 13:09 عصر
خسته نباشید
برای ویرایش اطلاعات از یک فرم دیگه استفاده کردم ، یعنی با کلیک رو یک ردیف از gridview فرم ویرایش تو فرم دیگه ای باز می شه .



private void gvCycles_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int ID = int.Parse(gvCycles.SelectedRows[0].Cells[0].Value.ToString());
CycleEdit ce = new CycleEdit();
ce.EditType = "Edit";
ce.LoadyearsInformation(ID);
//
DialogResult dr = ce.ShowDialog();
if (dr == System.Windows.Forms.DialogResult.OK)
{
LoadCycles();
}
}



مشکل اینجاست که وقتی اطلاعات آبدیت میشن و فرم ویرایش بسته میشه اطلاعاتی که آبدیت شدن لود نمیشن . هنوز اطلاعات قبلی از entity fremwork خونده میشه .



var cycle = (from M in context.Cycle
where M.ID == CycleID
select M).FirstOrDefault();
cycle.YearsIn = int.Parse(txtYearsIn.Text);
cycle.YearsOut = int.Parse(txtYearsOut.Text);
//
context.SaveChanges();
this.DialogResult = System.Windows.Forms.DialogResult.OK;
//
Close();



ممنون

hamid.karimy
یک شنبه 19 آذر 1391, 13:22 عصر
save changes نکردی
بعد از هر عملیاتی رو انتیتی باید سیو چنج کنی

مهدی هادیان2
یک شنبه 19 آذر 1391, 13:37 عصر
بسم الله الرحمن الرحیم
با سلام

save changes نکردی
بعد از هر عملیاتی رو انتیتی باید سیو چنج کنی
این کار رو انجام دادند.

context.SaveChanges();
منطق Entity ی که کدش رو زدید به نظر درست می آید. ولی یک breakPoint بذارید ببینید مشکل از کجاست؟
موفق باشید.

IranVisual
یک شنبه 19 آذر 1391, 14:21 عصر
مشکل حل شد
چون آبجکت context در بالای فرم نوشته شده بود هنوز همون داده های قبلی رو لود می کرد .
برای حل شدن یک آبجکت جدید در متد لود ایجاد کردم .



private void LoadCycles()
{
Stu_WinApp context1 = new Stu_WinApp();
var cycles = (from M in context1.Cycle
where M.IsDeleted == false
orderby M.YearsIn descending
select M);
gvCycles.AutoGenerateColumns = false;
gvCycles.DataSource = cycles.ToList();
//
}