سؤال

أنا أبحث عن أفكار بشأن كيفية تنفيذ مراجعة مسارات بلدي الكائنات في C# ، المشروع الحالي أساسا أنا بحاجة إلى:

1.تخزين القيم القديمة و قيم جديدة من كائن معين.2.سجل إنشاء كائنات جديدة.3.حذف الكائن القديم.

هل هناك أي طريقة عامة من القيام بذلك ، مثل استخدام C# الوراثة ، بحيث لا تضطر إلى كتابة رمز أحداث قاعدة كائن مثل على الخلق ، على حذف الخ.(ORM الكائنات).الشيء هو أنه إذا كان هناك طريقة لحقن المراجعة إذا كان أحد يستخدم .أي شخص لديه أي تجارب أو أي الأساليب التي تتبع.أي طريقة للقيام بذلك في الجانب المنحى (اوب) mannner.

يرجى حصة أفكارك.... الخ

هل كانت مفيدة؟

المحلول

سؤال مشابه جدا ل كيف تقوم بتنفيذ مراجعة الحسابات عن الأشياء الخاصة بك (برمجة) ؟

لقد نفذت حل مماثل، وذلك باستخدام اوب (تنفيذ aspectJ). باستخدام هذه نقاط معينة يمكن ملاحظتها، ويمكن تنفيذ عمليات محددة.

ويمكن توصيله هذا في وتوصيله قبالة عندما نحب.

ولكن، كان تنفيذنا في J2EE ..

إذا كنت تريد حقا أن تفعل ذلك في طبقة التطبيق، وأود أن أقترح هذا.

ونأمل أن يساعد ..

نصائح أخرى

هل يمكن تنفيذ شيء مشابهة إلى INotifyPropertyChanged مع اختلاف طفيف. لقد انتزعت معظم INotifyPropertyChanged وتغييره ليكون عام وتخزين القيم الجديدة والقديمة. يمكنك بعد ذلك يكون نوعا من فئة الإدارة التي يمكن الاستماع إلى هذه وonSaving وonDeleting يمكنك التعامل مع هذه التغييرات.

public interface INotifyProperyChanged<T>
{
   event PropertyChangedEventHandler<T> PropertyChanged;
}

    public delegate void PropertyChangedEventHandler<T>(object sender,   
PropertyChangedEventArgs<T> e);

public class PropertyChangedEventArgs<T> : EventArgs
{
    private readonly string propertyName;

    public PropertyChangedEventArgs(string propertyName)
    {
        this.propertyName = propertyName
    }

    public virtual string PropertyName { get { return propertyName; } }

    public T OldValue { get; set; }
    public T NewValue { get; set; }
}

وبالإضافة إلى بعض الأشياء المذكورة في موضوع أعلاه قد يكون للمساعدة، إذا كنت التفاف كل التغييرات الدولة على وجوه الخاص بك في أمر ثم الأمر يمكن أن يكون مسؤولا عن الحفاظ على مراجعة الحسابات، في حين لا يملك كائن ما يدعو للقلق التدقيق نفسها. بالطبع يضاف هناك النفقات العامة لإنشاء والتخلص الأوامر.

ويمكنك التفاف حول الأوامر أي هيكل كائن موجود، أنت فقط تفويض الإجراءات الخاصة بك لطبقة القيادة بدلا من القيام بها على الكائنات مباشرة.

هل تعتبر باستخدام نمط إخطار بسيط؟ هل يمكن أن يكون طبقة خدمتكم تثير الأحداث مثل NEWOBJECT، ChangedObject، DeletedObject ذلك، سيتم استمع إلى بطبقة الخدمة العامة التي يمكن بعد ذلك اتخاذ الكائن وحفظ النتائج.

إذا كنت تريد حفظ حالة الكائن الذي يمكن الاستفادة أكس التسلسل.

وثمة نهج آخر متاح إذا كان لديك باستخدام SQL Server 2008 يمكنك تطبيق ميزات المراجعة الجديدة التي سوف تتيح لك تدوين التغييرات على سجلات قاعدة البيانات حتى يمكنك تعقب (على ما أظن) عند قراءة البيانات.

قديمة جدا السؤال ، ولكن لأولئك الذين يريدون المراجعة C# objects, أنصح Audit.NET المكتبة.

فقد يتم الدخول إلى مختلف أنظمة التخزين (SQL Azure ، مونجو) و تدقيق أنظمة مختلفة (WCF ، EF, MVC).

ملاحظة:أنا المالك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top