در قسمت اول آموزش Code First در MVC – ایجاد دیتابیس، قصد داریم تا دیتابیسی را به روش Code First ایجاد کنیم. در این روش ابتدا برنامه را مینویسیم یعنی توسط کلاس مدلی که ایجاد میکنیم دیتابیس ایجاد میشود. این آموزش را بهتر است با یک مثال ارائه دهیم فرض کنید قصد داریم دیتابیسی به نام MyDB ایجاد کنیم و جدولی به نام User همراه با فیلد های زیر به آن اضافه کنیم.
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace WebApplication1.Models
{
public class MyDBContext : DbContext
{
}
}
الف – توسط دیتا انوتیشن [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; }
}
}
این کلاس دیتابیس است و نام آن 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; }
}
}
ابتدا در قسمت 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>
۱ – دستور شماره یک
enable-migrations
۲ – دستور شماره دو : در زمان اجرا از شما یک نام میخواهد، یک نام معنادار به آن بدهید مثلا CreateDB و یا CreateTableX ویا UpdateTableX و ….
add-migration
۳ – دستور شماره سه
update-database
کار تمام است به نرم افزار SqlServer بروید و دیتابیس خود را مشاهده کنید.