• آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش شانزدهم
آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش شانزدهم
1395/05/06 - 14:59:55 // MVC 5 & 6 // 6 نظر // 5077 بازدید

در بخش قبلی با Domain Model که در حال حاضر بسیار ساده میباشد، آشنا شدیم. در این قسمت سعی دارم اندکی این Model را پیچیده تر کنم تا به وضعیت واقعی نزدیکتر شویم، چون درعملیاتهای واقعی، Model اینقدر ساده و خالی از پیچیدگی نخواهد بود.

بسمه تعالی

آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها سیستم ویدئو کلوپ بخش شانزدهم

در بخش قبلی با Domain Model که در حال حاضر بسیار ساده میباشد، آشنا شدیم. در این قسمت سعی دارم اندکی این Model را پیچیده تر کنم تا به وضعیت واقعی نزدیکتر شویم، چون درعملیاتهای واقعی، Model اینقدر ساده و خالی از پیچیدگی نخواهد بود.

در کلاس Customer، باید فیلدها و Property های جدید ظهور نماید.

در تصویر بالا مشخص است که قرار است 2 فیلد IsSubscribedToNewLetter و MembershipType هم به Model افزوده گردد.

ابتدا اجازه بدهید یک قانون برای برنامه خود ایجاد کنیم. MembershipType دارای انواع مختلف خواهد بود. انواعی مانند Pay as you go ، Monthly و ... که در جدول زیر میتوانید آنها را مشاهده کنید.

تصویر بالا وضعیت و قوانین MembershipType است و نشان میدهد که مثلا عضویت ماهانه چقدر تخفیف خواهد داشت و ...

خوب ظاهرا الان یک کلاس جدید برای پیاده سازی MembershipType نیاز داریم. هر مشتری باید یک نوع MembershipType داشته باشد و این اجباری است.پس مشخص شد که نوع رابطه یک به یک است و فیلدهای لازمه هم به شکل زیر خواهد بود.

خوب حالا به محیط پروژه می رویم و تغییرات لازمه را ایجاد میکنیم.

اولین تغییر ایجاد یک Property جدید در Customers میباشد. یک فیلد به نام IsSubscribedToNewsletter خواهد بود.

خوب الان وقت استفاده از Migration است.

در صورت موفق بودن روند Migration مانند تصویر بالا، میتوان به سراغ Update کردن دیتابیس رفت.

خوب خطا و ایراد هم نداشتیم و عملیات Migration به درستی انجام شد. حالا وقت ایجاد کلاس MembershipType و Property های آن میباشد. درون Model Folder این کلاس را به شکل زیر ایجاد نمایید.

این کلاس بعدا باز هم دستخوش تغییر خواهد شد. تا اینجا فعلا به شکل بالا خواهد بود. حالا به سراغ کلاس Customer میرویم تا رابطه بین این دو Entity برقرار گردد.

حالا دقت کنید. در مواردی هست که ما قصد نداریم همه یک Objectرا به دلیل وجود رابطه بین دو Entity به صورت کامل Load کنیم. اینجاست که یک فیلد جدید مانند ID ایجاد میکنیم تا به صورت Foreign Key عمل نماید.

خوب حالا وقت انجام عملیات Migration میباشد.

و دوباره Update Database

خوب این مراحل هم تمام شد و حالا شما با روند ایجاد تغییرات در Model هم آشنا هستید. حالا میتوان در بخش بعدی به سراغ SEED کردن رفت و مراحل را پیگیری نمود.

دانلود سورس پروژه

علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
  • parmis
    1395/07/21 - 12:37:25

    0
    0
    سلام مطالب شما خیلی عالی و معقول هست این بخش رو ادامه نمیدهید _
     
    --
    خیر. مقاله می نوشتیم ، فحش هم می خوردیم. دلیلی برای این کار نمی بینم که ادامه بدهم 
  • ab
    1395/09/02 - 18:31:29

    0
    0
    سلام آموزش را دیگر ادامه نمی دهید
     
    --
    سلام ،
     
    خیر . 
  • بابک
    1395/09/13 - 21:20:47

    0
    0
    سلام
    چرا کارو ناتمام گذاشتید آخه فحش دادن دیگران هم شد دلیل
    مگه شما برای یک عده فحاش این آموزشها رو ارایه میکردید که به خاطر اونها دست از این کار بردارید ؟
    لطفا این بخش رو ادامه بدید با قدرت و آرامش بیشتر

    --

    که چه بشود بعدش؟
  • بابک
    1395/09/13 - 21:59:08

    0
    0
    هیچ پیشنهادی شگفت انگیزی مناسب شما عزیز به فکرم نرسید

    اما اگه بقیه آموزشها هست لطفا ترتیبی بدین که بتونیم دانلود کنیم

    باید بشینم بنویسم و حوصلش دیگر نیست. بخواهیم هم به صورت فیلم و کامل بگذاریم، کسی پولی نخواهد داد و تازه فحش هم می دهند. اصلن هنوز زیاد کسی MVC حالیش نیس که دنبال اموزشش بگرده
  • بابک
    1395/09/13 - 22:37:59

    1
    0
    باز هم بابت بخش های ارایه شده از شما ممنونم امیدوارم همیشه شاد و پیروز باشید
  • ارشیا
    1396/07/18 - 11:28:19

    1
    0
    سلام. بابت آموزشهای خوبی که گذاشتین، تشکر. موفق باشین
ارسال نظر