谈谈ASP.NET CORE MVC 使用EFCORE 进行数据库迁移的问题

**

EFCore执行数据库迁移中的问题

**

(1)Add-Migration Name中

注意在ASP.Core MVC 项目中引用ASPData类库文件以及ASPDomain文件ASPData引用ASPDomain,二者需要手动安装EntityFrameWorkCore.Server并且该项目的EntityFrameWorkCore.Server版本应该低于(最好相同)ASP.Core MVC 中EntityFrameWorkCore版本否则将引用失败
在默认的在新建应用时ASP.Core MVC的Microsoft.AspNetCore.App 2.1中Microsoft.EntityFrameworkCore.Tools 为
2.1.0版本,此时执行Add-Migration会报错,应该将新的Microsoft.EntityFrameworkCore.Tools 安装新的2.1.4版本才与引用的
项目文件相同,最好的做法时新建的一个最新版本的ASP.Core MVC
新建的Class Library默认版本是Microsoft.AspNetCore.App 3.1,此时若低版本的Microsoft.AspNetCore.App Web应用引用
该类库文件,将会引用失败,找不到Using的命名空间
执行Add-Migration 命令时,若存在唯一的默认项目,当增删某些model时或者数据逻辑更改时,需要生成新的迁移文件,如果迁移失败,需要指定DBContext文件名
遇到异常 add-migration Build failed 解决办法
检查项目是否是启动项
检查整个解决方案是否可以编译通过(重要)
上述不行,把其他项目卸载试试
首先一定要执行dotnet restore 查看网站的依赖关系
如果生成解决方案出现生成成功,但是编译跳过N个项目这种也不行,要么排除掉该生产失败的项目

假如项目中有多个dbcontext需要指定

add-migration IntialIdentity -context IdentityDbContext

并且

services.AddDbContext<IdentityDbContext>(options =>
                options.UseSqlServer(_configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("MyNewWay")));

指定b => b.MigrationsAssembly("MyNewWay")

同时执时指定

 update database -context IdentityDbContext

(2)Update-Database

发生错误:A network-related or instance-specific error occurred while
establishing a connection to SQL Server. 大多数情况是
ConnectionString错误
执行该命令需要将默认的项目设为ASPData,将启动项目设为ASP.Core MVC
暂时学到这些,希望大家交流指正

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值