دوره آموزش جامع انتیتی فریم ورک Entity Framework استفاده از وراثت Inheritance

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
488 بار بازدید - 3 سال پیش - به نام خدا. با یک
به نام خدا. با یک آموزش دیگه از انتیتی فریم ورک در خدمت شما عزیزان هستیم. قبلتر بطور مفصل توضیح دادیم که در پایگاه داده SQL نمیتوان از خواص شئ گرایی استفاده کرد ، اما با استفاده از انتیتی فریمورک میتوان خاصیت های شئ گرایی برای پایگاه داده SQL به ارمغان آورد.یکی از این خواص شئ گرایی وراثت Inheritance میباشد که در این قسمت با استفاده از انتیتی فریمورک قرار است از این خاصیت در سطح دیتابیس استفاده کنیم.ما میتونیم domain classes هامون رو بهمراه خاصیت وراثت Inheritance طراحی کنیم.در مبحث شئ گرایی یا Object-oriented روابط بین موجودیت ها شامل "has a" و "is a" هستند ، در حالی که سیستم مدیریت دیتابیس یعنی SQL فاقد پشتیبانی از قابلیت وراثت Inheritance هستند.بنابراین چطور باید Domain model های Object Oriented را به جداول پایگاه داده ی رابطه ای map کرد؟ از همین رو در این قسمت به توضیح چگونگی این کار خواهیم پرداخت ، بدین نحو که ابتدا یک مدل اضافه میکنیم سپس یک Entity یا موجودیت جدید بنام person اضافه میکنیم و بهش یک فیلد name و یک lastname هم اضافه میکنیم. یک Entity یا موجودیت جدید بنام student هم اضافه میکنیم.قصد داریم Student از person ارث بری کند بر همین اساس روی موجودیت Student راست کلیک می کنیم و بعد Add new میزنیم و سپس گزینه Inheritance رو انتخاب میکنیم و در پنجره باز شده اون موجودیت پایه که قراره ازش ارث بری شه رو تعیین میکنیم.بعد اینکارو کردیم خود برنامه برامون خط وراثت رو میکشد ، بنابراین student علاوه بر اینکه خودش یک ID دارد یک Name و یک LastName هم از person ارث بری میکند. یک پروپرتی بنام field به Student اضافه میکنیم. یک موجودیت جدید بنام Teacher هم ایجاد میکنیم و یک کلید براش تعیین میکنیم یک پروپرتی دیگه هم بنام salay بهش اضافه میکنیم. قصد داریم Teacher از person ارث بری کند بر همین اساس روی موجودیت Teacher راست کلیک می کنیم و بعد Add new میزنیم و سپس گزینه Inheritance رو انتخاب میکنیم و در پنجره باز شده اون موجودیت پایه که قراره ازش ارث بری شه رو تعیین میکنیم.در قدم بعدی میخواهیم دیتابیس از روی مدل جنریت یا تولید شود بنابراین تو اسکیوال سرور یک دیتابیس خالی برای اینکار میسازیم و دیتابیس رو از روی مدلمون جنریت میکنیم.بعد از اینکه دیتابیس با موفقیت ایجاد شد و تمام جداول ایجاد شدند خواهید دید که بجای person ، جمعش رو نوشته یعنی people و همینطور داخل دیزاین Student از آیدی person استفاده شده و اون رو کلید کرده چون از اون ارث بری میکنه ، برای Teacher هم همینطور.نکته مهمی که هست این هست که در محیط دات نت چون Student و Teacher از People (که همون Person هست) ارث بری میکنند بنابراین برای مقداردهی Name و LastName در Student و Teacher بجای استفاده از آبجکت های Student و Teacher از آبجکت People استفاده میکنیم چون همون خصوصیات رو در خودش داره و اگر از آبجکت Student و Teacher بجای آبجکت People استفاده میکردیم ، اینتیلی سنس برای ما اصلا Name و LastName رو بالا نمیاورد. نکته بعد هم اینکه قسمتی از ویدیو ما یک دکمه برای اضافه کردن رکورد جدید به Student اضافه کردیم و داخل این دکمه یکسری کد نوشتیم که توش بجای اینکه رکوردها رو به Student اد یا اضافه کنیم ، به People اضافه کردیم ، درسته که از People استفاده کردیم اما اینجا برنامه خودش میفهمه که رکورد رو باید در Student ذخیره کنه چون آبجکت ش از نوع Student هست.
3 سال پیش در تاریخ 1400/02/06 منتشر شده است.
488 بـار بازدید شده
... بیشتر