PDA

View Full Version : حرفه ای: ویرایش اطلاعات در EF



davidrobert
جمعه 01 آذر 1392, 00:27 صبح
سلام خسته نباشید. ویرایش اطلاعات به وسیله ریلیشن که وقتی اطلاعات پدر ویرایش میشه اطلاعات فرزند هم ویرایش بیشه در جدول دیگه.
من داخل دیتابیس ارتباط ریلیشن رو بر قرار کردم. و یلد کلید که رو به فیلد غیر کلید وصل کردم و Update and Delete Rule روی Casade قرار دادم وقتی اطلاعات رو از جدول پدر پاک میکنم درست از جدول فرزند هم پاک میشه ولی وقتی اطلاعاتی رو در جدول پدر ویرایش میکنم در جدول فرزند ویرایش نمیشه 2 تا فیلد شبیه هم در 2 تا جدول دارم که در آن کد مشتری شبیه هم هستش و همین طور نام کالا شبیه هم می باشد ولی وقتی کد کالا که کلید هستش و به جدول دیگر وصل می باشد اطلاعات مربوط به کد کالا در جدول دیگر ویرایش میشه ولی نام کالا که در جدول پدر می باشد اصلاً ویرایش نمیشود.یعنی در جدول پدر اطلاعات نام کالا ویرایش میشه ولی در جدول فرزند خیر. من از این 2 تا کد استفاده میکنم یکی از کد های ویرایش کار میکنه و عمل ویرایش رو انجام میده ولی عمل ویرایش ارتباط پدر فرزندی رو انجام نمیده یعنی اگه اطلاعات پدر ویرایش کنیم یعنی نام کالا در جدول ویرایش بیشه در جدول فرزند اطلاعات ویرایش نمیشن. و یک کد دیگه به وسیله دوستم نوشتم آقا یونس اون کد اصلا عمل ویرایش رو انجام نمیده.
کد که نوشتم عمل ویرایش رو جواب میده.
int CodeKalaa = int.Parse(LblId.Text);
Tbl_ListCommodity tbl = db.Tbl_ListCommodity.First(i => i.ID == CodeKalaa);

tbl.Commodity_Name = TxtNameKala.Text;
tbl.Commodity_Description = TxtDiscrption.Text;
tbl.Commodity_DateEdit = LblDate.Text;
tbl.Commodity_TimeEdit = LblTime.Text;
db.SaveChanges();
BackForm();
}
کد که عمل ویرایش رو انجام نمیده
//var result = (from q in db.Tbl_ListCommodity
// join servic in db.Tbl_Servic on q.Commodity_Name equals servic.Commodity_Name
// select new {q, servic}).Single();
//result.q.Commodity_Name = TxtNameKala.Text;
//result.servic.Commodity_Name = TxtNameKala.Text;
//result.q.Commodity_Description = TxtDiscrption.Text;
//result.q.Commodity_DateEdit = LblDate.Text;
//result.q.Commodity_TimeEdit = LblTime.Text;
//db.SaveChanges();
//BackForm();
خواهش اگه کسی عمل ویرایش رو به صورت سراسری انجام داده بگه ممنون میشم. چون میخوام هر چند تا فیلد که دارم شبیه هم هستش در 2 تا فرم با هم ارتباط بر قرار کردم با هم ویرایش بیشن خیلی لازم دارم به همچین چیزی خواهش کسی میتونه من رو کمک کنه.

Mahmoud.Afrad
جمعه 01 آذر 1392, 14:43 عصر
خواهشا سوالتون رو در یکی دو خط واضح بیان کنید.

وقتی در جدول اصلی کد و نام کالا رو دارید ، در جدول وابسته کد کالا کفایت میکنه و لازم نیست در جدول فرزند نام کالا آورده شود(نام کالا در جدول فرزند اضافه است).

در ضمن Cascade روی ستون هایی که متصل هستند عمل میکنه یعنی در اینجا روی کد کالا.