Code First در MVC – ایجاد دیتابیس

در قسمت اول آموزش Code First در MVC – ایجاد دیتابیس، قصد داریم تا دیتابیسی را به روش Code First ایجاد کنیم. در این روش ابتدا برنامه را مینویسیم یعنی توسط کلاس مدلی که ایجاد میکنیم دیتابیس ایجاد میشود. این آموزش را بهتر است با یک مثال ارائه دهیم فرض کنید قصد داریم دیتابیسی به نام MyDB ایجاد کنیم و جدولی به نام User همراه با فیلد های زیر به آن اضافه کنیم.

  • نام دیتابیس : MyDB
  • نام جدول : Tab_User
  • فیلد ها : UserId , Name , Family , Gender , MobileNumber , Email , Password , ImageName , RegisterDate , IsActive

افزودن Entity Framework

  • گام اول : از طریق manage nuget packages اقدام به افزودن Entity Framework به پروژه خود کنید. Entity Framework ورژن های محتلفی دارد حتما Entity Framework حالی را نصب کنید و به اشتباه نسخه های Core و … را نصب نکنید.
Add Entity Framework To MVC Project.jpg

Add Entity Framework To MVC Project.jpg

ایجاد Context

  • گام دوم : در پوشه مدل های خود باید کلاسی را برای Context ها ایجاد کنیم نام آن را MyDBContext قرار میدهیم و آن را از کلاس DbContext اکستند میکنیم. توجه داشته باشید که بعدا، یعنی بعد از افزودن مدل مربوط به جدول های خود باید به این کلاس برگردیم و جداول خود را در اینجا معرفی کنیم.
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    public class MyDBContext : DbContext
    {
    }
}

ایجاد Model

  • گام سوم : در پوشه مدل کلاس جدیدی اضافه میکنیم با نام User این کلاس قرار است مدل جدول Tab_User ما باشد.

الف – توسط دیتا انوتیشن [Table(“Table Name”)] نام جدول خود را مشخص میکنیم

ب – توسط دیتا انوتیشن [Required] فیلذ های اجباری را مشخص میکنیم، کار همان تیک Allow Null را در Sql میکند.

پ – توسط دیتا انوتیشن [MaxLength(Char number)] تعداد کاراکتر ها را مشخص میکنیم.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    [Table("Tab_User")]
    public class User
    {
        [Key]
        public int UserID { get; set; }

        [Required]
        [MaxLength(60)]
        public String Name { get; set; }

        [Required]
        [MaxLength(60)]
        public String Family { get; set; }

        public bool Gender { get; set; }

        [Required]
        [MaxLength(13)]
        public String MobileNumber { get; set; }

        [Required]
        [MaxLength(60)]
        public String Email { get; set; }

        [Required]
        [MaxLength(100)]
        public String Password { get; set; }

        [Required]
        [MaxLength(150)]
        public String ImageName { get; set; }

        [Required]
        public DateTime RegisterDate { get; set; }

        [Required]
        public bool IsActive { get; set; }
    }
}

کانفیگ Context

  • گام چهارم : به گام دوم برمیگردیم یعنی جایی که کلاس MyDBContext را ایجاد گردیم در این کلاس باید جدول یا جدول های خود را معرفی کنیم. برای همین پراپرتی از جنس جنریک DbSet برای کلاس مدل که برای جدول خود ایجاد کردیم میسازیم. و خود Visual پیشنهاد داد نام آن را Users بزاریم، حتما نام ها را با حروف بزرگ بنویسید.
DBSet

DBSet

این کلاس دیتابیس است و نام آن MyDBContext میباشد که در سراسر پروژه میتوانیم از آن استفاده کنیم.

using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    public class MyDBContext : DbContext
    {
        public DbSet<User> Users { get; set; }
    }
}

افزودن Connection String

  • گام پنجم : حال باید در فایل Web.config خود یک Connection String ایجاد کنیم. تا مشخص کنیم مدلی که برای جدول خود ایجاد کردیم در کدام دیتابیس و کدام سرور ذخیره شود.

ابتدا در قسمت Name نام کلاس Context خود را وارد کنید. در این مثال نام کلاس Context ما MyDBContext میباشد.

و در قسمت Data Source نام سرور خود را وارد کنید. در این مثال نام سرور ما . میباشد.

در قسمت Initial Catalog نام دیتابیس را وارد کنید. در این مثال نام دیتابیس ما MyDB میباشد.

بهترین مکان برای درج Connection String در پایین ترین قسمت و قبل از تگ configuration میباشد.

نمونه کد Connection String برای احراز هویت توسط Windos

<connectionStrings>
    <add name="Context Name" connectionString="Data Source= Server Name;Initial Catalog= Database Name;Integrated Security=true" providerName="System.Data.SqlClient" />
</connectionStrings>

نمونه کد Connection String برای احراز هویت توسط Sql

<connectionStrings>
    <add name="Context Name" connectionString="Data Source= Server Name;Integrated Security=true;Initial Catalog= Database Name;uid=YourUserName;Password=yourpassword" providerName="System.Data.SqlClient" />
</connectionStrings>

اجرای Migration

  • گام ششم : برای فعال سازی Migration خود همانند تصویر وارد package manager console شوید و دستورات زیر را به ترتیب وارد کنید.
package manager console

package manager console

۱ – دستور شماره یک

enable-migrations

۲ – دستور شماره دو : در زمان اجرا از شما یک نام میخواهد، یک نام معنادار به آن بدهید مثلا CreateDB و یا CreateTableX ویا UpdateTableX و ….

add-migration

۳ – دستور شماره سه

update-database

کار تمام است به نرم افزار SqlServer بروید و دیتابیس خود را مشاهده کنید.

کلمات کلیدی - تگ‌ها

از کلمات کلیدی و تگ‌های مربوط به Code First در MVC – ایجاد دیتابیس دیدن فرمایید.

تصویر کلمات کلیدی مرتبط با Code First در MVC – ایجاد دیتابیس

مشاهده در آپارات یا یوتیوب

محتوای ویدیویی این صفحه در سایت قابل مشاهده است. اما اگر عادت دارید توی پلتفرم آپارات یا یوتیوب ویدیوها را مشاهده کنید، می‌توانید از دکمه‌های زیر استفاده کنید.

تماشای ویدیوی Code First در MVC – ایجاد دیتابیس در آپارات و یوتیوب

اشتراک‌گذاری با یک کلیک

با یک کلیک، محتوای این صفحه را در شبکه‌های اجتماعی، ایمیل یا پیام‌رسان‌های مورد علاقه‌تان به‌سرعت به اشتراک بگذارید.

اشتراک‌گذاری صفحه Code First در MVC – ایجاد دیتابیس در شبکه‌های اجتماعی

نظرات ارزشمند شما

نظرات شما برای ما ارزشمند است و آنها را میخوانیم و پاسخ میدهیم.

تصویر alamir

ممنون بابت آموزشتون من این بخش رو از آموزش های mosh udemy دیده بودم اینجا با جزییات توضیح دادید. ممنون

تصویر محمدرضا احدیان

سلامت باشید
دوره های جدید Asp.net Core ما با معماری MVC منتشر شده : https://tehranit.net/asp-core/
دوره جدید EF Core برای کار با دیتابیس : https://tehranit.net/entity-framework-core/
از این دوره ها هم دیدن فرمایید

فرم افزودن دیدگاه

با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.

با خدمات تهران آی تی آشنا شوید

تهران آی تی با افتخار خدمات زیر را ارائه می‌دهد.