آموزش DataBase First در MVC استفاده از Meta Data

تهران آی تی / برنامــه نویــسـی / آموزش DataBase First در MVC استفاده از Meta Data

آموزش DataBase First در MVC استفاده از Meta Data

در کلاس هایی که توسط DataBase ساخته میشود ما اجازه افزودن هیچ چیزی را نداریم حتی یک نقطه ولی در جلسات قبل ما در این کلاس ها اقدام به افزودن اتربیوت های data Annotation ها کردیم و توضیح دادیم که درصورتی که DataBase ما بروزرسانی یا رفرش شود کل مطالبی که به آن اضافه کردیم حذف میشود. برای رفع این مشکل از دو روش میتوان استفاده کرد روش اول استفاده از Meta Data ها و روش دوم استفاده از View Model ها میباشد. که در این آموزش ما میخواهیم آموزش DataBase First Meta Data را توضیح دهیم.

  • روش Meta Data : مناسب برای DataBase First است.
  • روش View Model : مناسب برای Code First است.

Meta Data چیست ؟

در MVC روشی وجود دارد که توسط آن میتوانیم کلاسی را برادر کلاس دیگر قرار دهیم یعنی یک کلاس کامل کننده کلاسی دیگر باشد. که به این کلاس ها، کلاس Meta Data گفته میشود.

فرض کنید مدلی که برای جدول User خود ایجاد کردیم، که در اصل یک کلاس از نوع Partial میباشد. Partial به معنی جزء یا بخش میباشد یعنی ما میتوانیم یک کلاس Meta Data که تکمیل کننده یا ادامه این کلاس باشد داشته باشیم. یا به زبان ساده میتوانیم کلاس خود را در ۲ کلاس بنویسیم قسمتی را در یک کلاس و قسمتی از آن را در یک کلاس دیگر.

چگونه Meta Data ایحاد کنیم !

  • در پوشه مدل خود پوشه ای به نام MetaDataModels ایجاد میکنیم تا کلاس های Meta Data خود را در این پوشه قرار دهیم. البته این کار اجباری نیست ولی باعث میشود که پروژه ما طبقه بندی بهتری داشته باشد.
  • در پوشه ای که ایجاد کردیم کلاسی میسازیم به نام UserMetaData این کلاس قرار است کلاس Meta Data مربوط به T_Users باشد.
  • تمام فیلد ها به همراه data Annotation های آن را در این کلاس قرار میدهم.
  • برای اتصال این دو کلاس باید مقدار اتربیوت MetadataType را به کلاس اصلی که همان T_Users است اضافه کنیم. و به کلاس خود بگوییم که با کدام کلاس برادر است و باید به آن متصل شود. در کد زیر باید به جای Class Name نام کلاس مد نظر خود را قرار دهیم که در این مثال Class Name ما UserMetaData میباشد.

[MetadataType(typeof(Class Name))]

  • هنوز مشکل داریم چون در صورتی که DataBase رفرش یا بروزرسانی شود اتربیوتی که در بالا اضافه کردیم حذف میشود و از بین میرود. پس از قابلیت Partial کلاس خود استفاده میکنیم. و اتربیوت MetadataType را از کلاس اصلی حذف و به همراه بخش نام کلاس یعنی public partial class T_Users { } در کلاس UserMetaData خود در پایین کد ها کپی میکنیم.

[MetadataType(typeof(UserMetaData))]
public partial class T_Users
{
}

  • در بیشتر موارد Visual Studio در آدرس دهی در کلاس Meta Data دچار مشکل میشود. پس به کلاس Meta Data ای که ایجاد کردیم میرویم و در بخش namespace نام پوشه ای گه ایجاد کردیم یعنی MetaDataModels را حذف میکنیم.

namespace WebApplication1.Models

جستجو کنید

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد