星空网 > 软件开发 > ASP.net

EF架构~CodeFirst模型下的数据初始化

回到目录

我为什么会来

在传统的大型系统设计中,数据库建模是个比开发更早的环节,先有数据库,然后是ORM模型,最后才是开发程序,而这种模型在EF出现后发生了转变,而且有可能将来会被code first取代,因为你的关系型数据库没有必要定死,你在部署网站时,没人愿意先建立一大堆SQL语句,谁都愿意在IIS上运行后,数据库自动生成,无论是sqlserver,orcale,mysql它如果都是自动生成,那该多爽!事实上,这种开发模型已经愉愉的进入了我们的世界里,尤其是在第三方服务器部署时,这种code first让你感觉更加方法,应该你不用在一个个建立数据表了,像香港云这种第三方服务器,普通用户不支持SQL命令,建立表只能一个一个的建立。

数据初始化

而当你的数据库被建立后,数据表的信息也可以同时被初始化的,这也是今天要说的,它分于两叔,第一在config里开启这个初始化功能,第二建立自己的Initializer类,让它实现DropCreateDatabaseIfModelChanges<YourContext>泛型方法即可,具体看一下代码

一 配置启用,将web.config里的entityFramework改这样

<entityFramework>  <contexts>   <context type="Lind.DDD.Manager.ManagerContext, Lind.DDD.Manager">    <databaseInitializer type="Lind.DDD.Manager.ManagerInitializer, Lind.DDD.Manager" />   </context>  </contexts>  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">   <parameters>    <parameter value="v12.0" />   </parameters>  </defaultConnectionFactory> </entityFramework>

二 编写初始化类代码

  /// <summary>  /// 数据库初始化  /// </summary>  public class ManagerInitializer : DropCreateDatabaseIfModelChanges<ManagerContext>  {    protected override void Seed(ManagerContext context)    {      try      {        #region 部门表        var department = new WebDepartments        {          About = "",          DepartmentName = "公司",          DeptLevel = 0,          Operator = "admin",          ParentID = null,          SortNumber = 0,          Status = 1,          UpdateDate = DateTime.Now,        };        context.WebDepartments.Add(department);        context.SaveChanges();        #endregion        #region 菜单表        var menu = new WebManageMenus        {          About = "",          LinkUrl = "",          MenuLevel = 1,          MenuName = "根",          Operator = "admin",          ParentID = null,          SortNumber = 0,          Status = 1,          UpdateDate = DateTime.Now,        };        context.WebManageMenus.Add(menu);        context.SaveChanges();        #endregion        base.Seed(context);      }      catch (Exception)      {        throw;      }    }  }

感谢各位的阅读,希望本文章可以帮到您!

回到目录




原标题:EF架构~CodeFirst模型下的数据初始化

关键词:架构

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

产品维权:https://www.goluckyvip.com/tag/29206.html
产品营销推广思路:https://www.goluckyvip.com/tag/29207.html
产品责任险:https://www.goluckyvip.com/tag/29208.html
自贸区设立:https://www.goluckyvip.com/tag/2921.html
产品质量证书:https://www.goluckyvip.com/tag/29210.html
产权知识:https://www.goluckyvip.com/tag/29211.html
九月初新疆旅游服装搭配(新疆游玩必备衣服清单):https://www.vstour.cn/a/408257.html
黄果树瀑布景区景点 - 黄果树瀑布景区景点分布图:https://www.vstour.cn/a/408258.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流