欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

asp.net——疑难杂症①之项目运行时怎样通过实体类来自动创建数据表(EF-CodeFirst)

程序员文章站 2024-02-29 20:42:58
...

在网上下载了源码,该项目结构:

asp.net——疑难杂症①之项目运行时怎样通过实体类来自动创建数据表(EF-CodeFirst)

先看后台【ZSZ.AdminWeb】项目,打开Global.asax,发现 Application_Start方法里,并没有写好 自动生成数据表的code

asp.net——疑难杂症①之项目运行时怎样通过实体类来自动创建数据表(EF-CodeFirst)

不过还有这个项目【ZSZ.Service】,发现有   ZSZDbContext.cs(可以利用这个来自动生成数据表)

asp.net——疑难杂症①之项目运行时怎样通过实体类来自动创建数据表(EF-CodeFirst)

 

在这里,我们改一下这两个文件的代码:Global.asax、ZSZDbContext.cs

       1.在ZSZDbContext.cs  注释掉 Database.SetInitializer<ZSZDbContext>(null);

       2.在Global.asax,的Application_Start里添加代码:

   Database.SetInitializer(
                 new CreateDatabaseIfNotExists<Service.ZSZDbContext>());
            using (var context = new Service.ZSZDbContext())
            {
                context.Database.Initialize(true);
            }

为什么要这么做?

      因为项目每次运行时,都会执行 Global.asax里的Application_Start方法。

 关于怎么控制自动生成数据表的详情可以看这里:

https://blog.csdn.net/emisry/article/details/51787214

相关标签: asp.net mvc