首页 > 代码库 > 经验总结26--EF6多网站使用一个数据库

经验总结26--EF6多网站使用一个数据库

当使用EF生成数据库后,想多个网站使用同一个数据库,并且进行前台后台分离,或者以后进行app扩展使用。

但尝试分离后,发现第二个网站访问数据库时,会提示进行数据库结构改变,需要迁移的错误。

但并未使用过数据库迁移,也是重新生成的数据库。

后面同事查阅资料和研究,才发现是数据库初始化的问题。

Database.SetInitializer<PermissionContext>(null);

该代码是必须要执行一次的,一般新的网站,必须进行数据库初始化,可为空,没有啥意义,报错也是牛马不相及。

如果EF可以默认已经执行该代码,一旦有初始化需求,再进行重写即可。

但目前不支持这样的功能,那就自己手动加上吧。

步骤:

1、老网站还是不变,生成数据库。

2、新网站,加上代码即可。

 public UserContext(string nameOrConnectionString)
            : base(nameOrConnectionString)
        {
            Database.SetInitializer<PermissionContext>(null);
        }