数据库初始化

上图,这个图解释了,数据库初始化的流程,是基于我们在上下文类中的构造函数中传递的参数。

DbContext 那些事 —— 数据库初始化

在上面的图中,context类中的base构造器中,可以填入下面的参数:

  • 无参数(No Parameter)
  • 数据库的名字(Database Name)
  • 连接字符串的名字(Connection String Name)

无参数


DbContext 那些事 —— 数据库初始化
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data.Entity;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace EF1
 9 {
10    public class DbContextClass:DbContext
11     {
12        public DbContextClass()
13            : base()
14        { }
15        public DbSet<Student> Studnets { get; set; }
16 
17        public DbSet<Standard> Standards { get; set; }
18 
19        
20        protected override void OnModelCreating(DbModelBuilder modelBuilder)
21        {
22            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());
23 
24            base.OnModelCreating(modelBuilder);
25        }
26 
27     }
28 }
DbContext 那些事 —— 数据库初始化

生成数据库:DbContext 那些事 —— 数据库初始化

数据库的名字


你同样可以指定数据库的名字在base构造器中,例如:

DbContext 那些事 —— 数据库初始化
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data.Entity;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace EF1
 9 {
10    public class DbContextClass:DbContext
11     {
12        public DbContextClass()
13            : base("MYDBHAHA")
14        { }
15        public DbSet<Student> Studnets { get; set; }
16 
17        public DbSet<Standard> Standards { get; set; }
18 
19        
20        protected override void OnModelCreating(DbModelBuilder modelBuilder)
21        {
22            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());
23 
24            base.OnModelCreating(modelBuilder);
25        }
26 
27     }
28 }
DbContext 那些事 —— 数据库初始化

然后生成的数据库是:DbContext 那些事 —— 数据库初始化

连接字符串


DbContext 那些事 —— 数据库初始化
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EF1
{
   public class DbContextClass:DbContext
    {
       public DbContextClass()
           : base("ConnectionString") //或者你也可以这样 : base("name=ConnectionString")
       { }
       public DbSet<Student> Studnets { get; set; }

       public DbSet<Standard> Standards { get; set; }

       
       protected override void OnModelCreating(DbModelBuilder modelBuilder)
       {
           Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());

           base.OnModelCreating(modelBuilder);
       }

    }
}
DbContext 那些事 —— 数据库初始化

然后在web.config中加入连接字符串:

1 <connectionStrings>
2     <add name="ConnectionString" connectionString="server=.;database=EFCodeFirstDB;uid=sa;pwd=Password_1" providerName="System.Data.SqlClient"/>
3 </connectionStrings>

运行程序,在数据库管理工具中就生成了我们想要的数据库:

DbContext 那些事 —— 数据库初始化

 

就是这么多!

 

***********转摘:https://www.cnblogs.com/duanyong/p/5023313.html

数据库初始化

上图,这个图解释了,数据库初始化的流程,是基于我们在上下文类中的构造函数中传递的参数。

DbContext 那些事 —— 数据库初始化

在上面的图中,context类中的base构造器中,可以填入下面的参数:

  • 无参数(No Parameter)
  • 数据库的名字(Database Name)
  • 连接字符串的名字(Connection String Name)

无参数


DbContext 那些事 —— 数据库初始化
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data.Entity;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace EF1
 9 {
10    public class DbContextClass:DbContext
11     {
12        public DbContextClass()
13            : base()
14        { }
15        public DbSet<Student> Studnets { get; set; }
16 
17        public DbSet<Standard> Standards { get; set; }
18 
19        
20        protected override void OnModelCreating(DbModelBuilder modelBuilder)
21        {
22            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());
23 
24            base.OnModelCreating(modelBuilder);
25        }
26 
27     }
28 }
DbContext 那些事 —— 数据库初始化

生成数据库:DbContext 那些事 —— 数据库初始化

数据库的名字


你同样可以指定数据库的名字在base构造器中,例如:

DbContext 那些事 —— 数据库初始化
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data.Entity;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace EF1
 9 {
10    public class DbContextClass:DbContext
11     {
12        public DbContextClass()
13            : base("MYDBHAHA")
14        { }
15        public DbSet<Student> Studnets { get; set; }
16 
17        public DbSet<Standard> Standards { get; set; }
18 
19        
20        protected override void OnModelCreating(DbModelBuilder modelBuilder)
21        {
22            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());
23 
24            base.OnModelCreating(modelBuilder);
25        }
26 
27     }
28 }
DbContext 那些事 —— 数据库初始化

然后生成的数据库是:DbContext 那些事 —— 数据库初始化

连接字符串


DbContext 那些事 —— 数据库初始化
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EF1
{
   public class DbContextClass:DbContext
    {
       public DbContextClass()
           : base("ConnectionString") //或者你也可以这样 : base("name=ConnectionString")
       { }
       public DbSet<Student> Studnets { get; set; }

       public DbSet<Standard> Standards { get; set; }

       
       protected override void OnModelCreating(DbModelBuilder modelBuilder)
       {
           Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContextClass>());

           base.OnModelCreating(modelBuilder);
       }

    }
}
DbContext 那些事 —— 数据库初始化

然后在web.config中加入连接字符串:

1 <connectionStrings>
2     <add name="ConnectionString" connectionString="server=.;database=EFCodeFirstDB;uid=sa;pwd=Password_1" providerName="System.Data.SqlClient"/>
3 </connectionStrings>

运行程序,在数据库管理工具中就生成了我们想要的数据库:

DbContext 那些事 —— 数据库初始化

 

就是这么多!

 

***********转摘:https://www.cnblogs.com/duanyong/p/5023313.html

相关文章:

  • 2019-03-05
  • 2021-06-13
  • 2021-07-10
  • 2021-10-19
  • 2021-12-30
  • 2021-11-29
  • 2021-05-19
猜你喜欢
  • 2022-01-01
  • 2021-11-14
  • 2021-07-16
  • 2022-12-23
  • 2021-05-17
  • 2021-04-21
相关资源
相似解决方案