اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
در مبحث استفاده از خاصیت Local در Entity Framework ملاحظه نمودید که خاصیت Local به راحتی میتواند از رفت و آمدهای بی جهت به دیتابیس جلوگیری کند.
حال قصد معرفی یک collection را به نام ObservableCollection دارم.
همانطور که از نامش پیداست برای مشاهده و تحت نظر قرار دادن دادههای اضافه شده یا پاک شده کاربرد دارد. به کد زیر دقت کنید.
در بالا به وسیله یک event handler جدید به collection محلی ما (Local) نظر میاندازد و در صورت اضافه شدن یا حذف موجودیتی، آن را به ما نشان میدهد. فقط توجه کنید که اگر نیاز دارید در صفحهای این تغییرات را مشاهده کنید باید عمل Refresh کردن صفحه را چه به صورت دستی یا با نوشتن کد خودتان مدیریت کنید. البته با استفاده از WPF میتوان (استفاده از کنترلهای مانند ListBox ) این کار را به صورت خودکار انجام داد.
private static void ListenToLocalChanges() { using (var context = new BreakAwayContext()) { context.Destinations.Local.CollectionChanged += (sender, args) => { if (args.NewItems != null) { foreach (Destination item in args.NewItems) { Console.WriteLine("Added: " + item.Name); } } if (args.OldItems != null) { foreach (Destination item in args.OldItems) { Console.WriteLine("Removed: " + item.Name); } } }; context.Destinations.Load(); } }