PDA

View Full Version : مشکل در بایند کردن گریدویو در entity framework



mahdad sepah
جمعه 14 بهمن 1390, 20:21 عصر
سلام دوستان
من در یک مشکل عجیب گیر کردم،وقتی کد مربوط به نمایش اطلاعات در گریدیو را در form_loadمینویسم بدون مشکل اجرا میشه ولی وقتی در button مینویسم هیچ اتفاقی رخ نمیده:متعجب:
tbl_anbar tb = new tbl_anbar();
tb.name = textBox1.Text;
tb.tedad = int.Parse(textBox2.Text);
mt.AddTotbl_anbar(tb);
mt.SaveChanges();
dataGridView1.DataSource = mt.tbl_anbar;

mahdad sepah
جمعه 14 بهمن 1390, 22:01 عصر
کسی کمک نمیکنه؟

parvizwpf
شنبه 15 بهمن 1390, 01:17 صبح
ممنون از این کد کاملا خلاصه که گذاشتی. خب ما الان چطور بفهمیم اینا چیه ؟

gwbasic
شنبه 15 بهمن 1390, 01:20 صبح
یکبار DataSource مربوط به DataGridView رو null کنید و دوباره set کنید.

dataGridView1.DataSource = null;
dataGridView1.DataSource = mt.tbl_anbar;


در کل از روش درستی استفاده نمی کنید. بهتر است بیشتر با معماری entity framework‌ آشنا بشید و اینکه ObjectContext‌به چه شکلی کار می کند. شما نیاز ندارید که برای یک عمل add کردن دوباره تمام رکورد ها رو از database بخونید هر چند که objectContext داده های کش شده را دوباره برمیگرداند ولی در هر صورت یک query به سمت سرور فرستاده می شود و تک تک داده های برگشتی با داده های موجود در objectContext بررسی می شود و اگر موجود بود داده کش برگردانده می شود.