كيف يمكنك استخدام مصمم LINQ إلى SQL لإنشاء أساليب ملحق للمسارات الفرعية؟

StackOverflow https://stackoverflow.com/questions/2541964

سؤال

alt text http://img16.imageshack.us/img16/8085/datacontext.jpg

أعلاه هو عرض مصمم LINQ إلى SQL لسياق البيانات الخاص بي.

فيما يلي الرمز ذي الصلة التي ينشئها المصمم:

ملحق لفئة النشاط التجريدي:

        public System.Data.Linq.Table<ActivityBase> ActivityBases
        {
            get
            {
                return this.GetTable<ActivityBase>();
            }
        }

فئة Activitybase وقائمة الفئات الفرعية:

[Table(Name="dbo.Activities")]
[InheritanceMapping(Code="1", Type=typeof(ActivityBase), IsDefault=true)]
[InheritanceMapping(Code="2", Type=typeof(Project))]
[InheritanceMapping(Code="3", Type=typeof(ProjectActivity))]
[InheritanceMapping(Code="5", Type=typeof(Task))]
[InheritanceMapping(Code="4", Type=typeof(Activity))]
public abstract partial class ActivityBase : INotifyPropertyChanging, INotifyPropertyChanged
{

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

هل أفعل هذا خطأ؟ ألا يجب أن أجعل ملحقات للصفوف الفرعية؟ التصفية من Activitybase يبدو أسوأ بالنسبة لي.

شكرا على اي مساعدة في هذا الشأن.

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

المحلول

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

نصائح أخرى

لقد وجدت هذا السؤال يجيب على ما أردت معرفته:

ما هو ملف .cs تحت myDataContext.dbml ل؟

نظرًا لأن سياق البيانات هو أيضًا فئة جزئية يمكنني استخدام هذا الملف.

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