ایجاد پایگاه داده ها به روش Code First در asp.net mvc


ایجاد پایگاه داده ها به روش Code First در asp.net mvc
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

آموزش ایجاد پایگاه داده‌ به روش Code First در ASP.NET MVC:


در این جلسه می‌خواهیم به روش Code First دیتابیس ایجاد کنیم. این مبحث را در دوره سی شارپ پیشرفته کامل توضیح دادیم. در این روش ابتدا برنامه را می‌نویسیم و از طریق برنامه و کلاس مدلی که نوشته می‌شود دیتابیس را در sql server ایجاد می‌کنیم. در این فرآیندی که انجام می‌دهیم یک سری نکات هم وجود دارد که خیلی باید دقت کنیم که به خطاهای خیلی کوچکی که واقعا بعضی اوقات کار را سخت می‌کند برخورد نکنیم. ما قبلا دیتابیس را در sql server ایجاد کردیم و گفتیم که چطوری می‌توانید با اضافه کردن یک آیتم مدل به برنامه، مدل را بسازید و به خاطر اینکه کلاس‌های مدل‌ها را نمی‌توانستیم تغییر دهیم metadataها را اضافه کردیم. گفتیم کلاس‌های metadata اضافه می‌شوند تا به عنوان مکمل کنار کلاس‌های مدل اصلی قرار بگیرند تا dataAnnotationها را به آن‌ها متصل کنیم. اما حالا دیگر با sql server کاری نداریم. می‌خواهیم همه اتفاقات را سمت سی شارپ انجام دهیم. در واقع از طریق کدنویسی با سی شارپ یک مدل ایجاد کنیم که دیتابیس داخل sql server ساخته شود و بتوانیم فعالیت‌هایی مثل درج، حذف، ویرایش و واکشی را انجام دهیم. 
برای اینکار ابتدا یک پروژه جدید ایجاد می‌کنیم. هر زمان که می‌خواهیم به روش code first دیتابیس ایجاد کنیم باید Entity framework را به پروژه خود اضافه کنیم. مانند تصویر زیر پیش می‌رویم. 

 

تصویر 1
   


  
در قسمت Brows کلمه entity را جستجو می‌کنیم و EntityFramework را انتخاب می‌کنیم و سپس پروژه خود را انتخاب و گزینه install را کلیک می‌کنیم.

تصویر دوم
 

 

در روش code first نیاز داریم که یک کلاس برای پایگاه داده ایجاد کنیم و سپس به ازای هر مدل یک کلاس بسازیم. پس ابتدا یک کلاس ایجاد می‌کنیم که دیتابیس را در خودش داشته باشد.

تصویر سوم
 


نام کلاس را DbShopContext انتخاب می‌کنیم.

تصویر چهارم

 

به ازای جدولی که می‌خواهیم ایجاد کنیم یک مدل با نام User می‌سازیم. مانند روش قبل در پوشه Models یک کلاس  با نام  User ایجاد می‌کنیم و در کلاس User فیلدهای جدول را می‌نویسیم و DataAnnotation مربوط به هر فیلد را مشخص می‌کنیم.

تصویر پنجم

 

بعد از تنظیماتی که انجام دادیم برای مشخص کردن نام جدول از DataAnnotion Table استفاده می‌کنیم مانند تصویر زیر و برای استفاده از DataAnnotionها باید ابتدا دو Using مشخص شده در تصویر زیر را به کلاس خود اضافه کنیم.

تصویر ششم

 
در کلاس مدل دیتابیس یک پراپرتی از نوع مدل خود که User بود ایجاد می‌کنیم. تا اینجای کار کلاس دیتابیس هم مشخص کردیم. Using System.Data.Entity را به این کلاس اضافه می‌کنیم.

تصویر هفتم

 

 در این مرحله باید مشخص کنیم که قرار است مدلی که ایجاد کردیم و دیتابیس در کدام سرور ذخیره شود. برای اینکه سرور را مشخص کنیم باید در Web.Config، ConnectionString خود را ایجاد ‌کنیم. قبل از تگ پایان Configuration آن را قرار می‌دهیم. در قسمت name نام کلاس مدل پایگاه داده را مشخص می‌کنیم. نام سرور که نام server name، sql server می‌باشد را در قسمت Data Source مشخص می‌کنیم. در قسمت Initial Catalog نام دیتابیس را مشخص می‌کنیم. اگر sql server تان از طریق windows، login می‌شود از Integrated Security=”True” استفاده کنید اما اگر هنگام login در sql server از یوزرنیم و پسورد استفاده کردید از User Id=””;Password=; استفاده کنید و یوزرنیم و پسورد خود را در این قسمت مشخص کنید.

تصویر هشتم

 

بعد از اتمام مراحل با استفاده از ctr+shift+b برنامه را build کنید.  سپس از منو Tools گزینه‎‌های مشخص شده در تصویر زیر را انتخاب می‌کنیم.

تصویر نهم

 

در این بخش باید migrations خود را فعال کنیم. در قسمت پایین که در تصویر مشخص شده است عبارت enable-migrations را می‌نویسیم و سپس کلید Enter را می‌زنیم بعد از اتمام اینکار پوشه Migrations که در پنجره solution مشخص شده به پروژه اضافه می‌شود. این قسمت را در بخش code first دوره سی شارپ پیشرفته به طور مفصل توضیح دادیم.

تصویر دهم
 


بعد از این مرحله add-migration را می‌نویسیم و یک نام برای migration اولیه انتخاب می‌کنیم با CreateDb سپس کلید Enter را میزنیم و یک فایل برای ساخت دیتابیس به پروژه اضافه می‌شود.

تصویر 11

 


مرحله آخر update-database را می‌نویسیم و کلید Enter را می‌زنیم سپس دیتابیس در sql server ساخته می‌شود.

تصویر 12

 

سپس در sql server خود میبینیم که دیتابیس و جدول و فیلدهای جدول ساختته شده‌اند.

تصویر 13

 

برای واکشی اطلاعات از دیتابیس ابتدا یک controller با نام Users ایجاد می‌کنیم و using WebApplication.Models را به برنامه اضافه می‌کنیم که بتوانیم از کلاس DbShopContext استفاده کنیم. یک نمونه از کلاس DbShopContext تعریف می‌کنیم و با استفاده از آن اطلاعات موجود در دیتابیس را واکشی می‌کنیم و سپس یک view ایجاد می‌کنیم مانند تصویر زیر:

تصویر 14

 

بعد از اجرای برنامه خروجی زیر را مشاهده می‌کنید.

تصویر 15

 

 

 

امیدواریم که این آموزش، برای شما دوستان درسمنی عزیز مفید باشد، درصورت سوال و یا مشکل می توانید به انجمن برنامه نویسان سی شارپ مراجعه کنید. پیشنهادات و انتقادات خود را در بخش نظرات برای ما ارسال کنید. 
امید آنکه بیش از پیش موفق و مؤید باشید.

 

انجمن برنامه نویسان سی شارپ


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 36 جلسه
مدت زمان 1496 دقیقه
حجم دوره 6/92 گیگابایت
سطح مهارت مقدماتی تا متوسط
وضعیت دوره پایان یافته
: میانگین امتیاز

300,000تومان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در ... ر انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.بیشتر بدانید