PDA

View Full Version : بهترین شیوه ذخیره اطلاعات در دیتابیس هنگام استفاده از ORM در WPF



PetekDincos
پنج شنبه 01 دی 1390, 12:06 عصر
با سلام
ما برای دخیره اطلاعات در دیتابیس شیوه های مختلفی داریم مثلا در یک فرم که برای افزودم ، اصلاح و حذف رکوردهای یک جدول می باشه که در این فرم یک کامبوباکس داریم که کل رکوردهای جدول به اون بایند می شن و این فرم شامل چند تکست باکس دیگه می باشه که به SelectedItem این کامبو بایند شدند و با انتخاب هر آیتم کامبو اطلاعات مربوط به هر رکورد جدول در فرم نمایش داده می شه من خودم یه روشی که برای مثلا افزودن رکورد از این فرم به جدولم استفاده می کنم اینه که در لود فرم یه کانکشن به ORM ام برقرار می کنم و اطلاعات مربوط به اون جدولی که در این فرم می خوام نمایش بدم به صورت IQueryable واکشی کرده و به کامبوباکسم بایند می کنم و سپس یه BindingListCollectionView رو از این کامبو پر می کنم به صورت


BindingListCollectionView MyView=(BindingListCollectionView)((CollectionView Source.GetDefaultView(MyComboBox.ItemsSource));

سپس وقتی می خوام یک رکورد جدید به این مجموعه اضافه کنم می یام یه AddNew() از این View از نوع جدولم می گیرم و آیتم هاش رو از تکست باکس ها پر می کنم و موقع بستن فرم کانکشنی که به ORMباز کرده بودم SaveChange() می کنم سوالم این بود که آیا راه بهتری نیز برای این کار وجود دارد و از دوستانی که اطلاعی در این مورد دارند خواهش می کنم تو این بحث وارد بشن تا بهترین روش برای انجام این کار رو معرفی کنن با تشکر

Amir Oveisi
پنج شنبه 01 دی 1390, 12:21 عصر
بهترين تركيب براي كار با ديتابيس در WPF تركيب EF به همراه الگوي MVVM هست.

PetekDincos
پنج شنبه 01 دی 1390, 15:24 عصر
بهترين تركيب براي كار با ديتابيس در WPF تركيب EF به همراه الگوي MVVM هست.
با سلام
درخواست بنده درباره شیوه ذخیره در دیتابیس بود و اینکه MVVM بهترین الگو برای کار با WPF است در اون بحثی نیست فقط اگر امکانش است در مورد اون روشی که گفتم بخث کنید که آیا روش خوبیه و یا روش های بهتری نیز وجود دارد با تشکر

Amir Oveisi
پنج شنبه 01 دی 1390, 17:03 عصر
عرض بنده هم پاسخ به همین سوال شما بود. این روش خوبه ولی روش بهتری وجود داره و اون استفاده از الگوی MVVM برای به کارگیری ORM و ارتباط اون با View هست.
استفاده از CollectionViewSource یکی از چند روش معمول هست که برای ارتباط با DataSource ها در WPF استفاده میشه. ولی در این سناریو ای که گفتید bind کلیه رکوردهای یک جدول به combobox کار خیلی جالبی نیست.

PetekDincos
پنج شنبه 01 دی 1390, 19:31 عصر
با سلام
اگه می شه یه نمونه که با MVVM کار شده قرار بدید با تشکر

PetekDincos
پنج شنبه 01 دی 1390, 19:33 عصر
با سلام مجدد
نمونه رو تو امضاتون دیدم ممنون با تشکر