مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

CES

عضویت از 1396/01/14

ایجاد History سفارسی در متد SaveChanges جهت ثبت تغییرات

  • پنجشنبه 9 تیر 1401
  • 11:30
تشکر میکنم

سلام دوستان

می خواستم تغییرات یک ردیف در یک جدول از بانک اطلاعاتی را بصورت سفارشی و با توجه به نیاز خودم انجام بدم. آنچه که در اینترنت دیدم override کردن متد Savechangegs در کلاس Context بود. که با توجه به State یک Entity اقدام لازم را انجام میداد. روشی که خودم میخوام پیاده کنم به این صورت هستش:


1- یک جدول با نام History جهت ثبت ایجاد کردم که شامل UserId, EntityFullName, ReferenceId, DataAsJson, State هستش.

2- تمام جداول دارای ستون هایی جهت ثبت تاریخ CreateDate, UpdateDate و DeleteDate هستند.

3- اگر یک ردیف توسط کاربر Delete شود فقط تیک گزینه IsDeleted فعال می شود و دیگر در دسترس نخواهد بود و مقدار DeleteDate نیز بروزرسانی خواهد شد. و در انتهای نام کاربر، نام کامل Entity و شماره ردیف و State در جدول History ثبت خواهد شد.

4- اگر ردیف اضافه شود. مطابق روش Delete فعالیت کاربر ثبت خواهد شد.

5- اگر یک ردیف ویرایش شود برنامه قبل از ذخیره اطلاعات جدید ابتدا اطلاعات قدیمی را بصورت Json در جدول History ذخیر خواهد کرد و سپس اقدام به بروزرسانی اطلاعات جدید خواهد کرد. هر زمان که تغییرات اطلاعات را بخوام بررسی کنم اطلاعت json را به کلاسی که در ستون EntityFullName ثبت شده تبدیل میکنم و نتیجه را برای کاربر ارسال میکنم که اگر تعداد دفعات تغییر یک ردیف زیاد باشه نتیجه را بصورت یک لیست ارسال میکنم.

دوستان اگر روشی برای کار با تاریخچه تغییرات میدونید راهنمایی کنید. از CDC موجود در SQL Server نمیخوام استفاده کنم.

تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)