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

本文介绍了解决Entity Framework在多个网站中使用同一数据库时出现的初始化问题。通过设置数据库初始化器为null来避免不必要的数据库结构更改提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

Database.SetInitializer<PermissionContext>(null);

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

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

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

步骤:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值