C# 如何使用代码优先迁移来更新数据库?
我制作了一个c#.NETWebAPI,它工作正常,但当我更改模型时,它停止工作,并给出以下错误消息 支持“ApiDbContext”上下文的模型自 数据库已创建。考虑使用代码第一迁移来更新 数据库 这是我的代码: 模型(未更改):C# 如何使用代码优先迁移来更新数据库?,c#,asp.net,asp.net-web-api,asp.net-web-api2,C#,Asp.net,Asp.net Web Api,Asp.net Web Api2,我制作了一个c#.NETWebAPI,它工作正常,但当我更改模型时,它停止工作,并给出以下错误消息 支持“ApiDbContext”上下文的模型自 数据库已创建。考虑使用代码第一迁移来更新 数据库 这是我的代码: 模型(未更改): 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 名称空间测试模型 { 公共类用户 { 公共int Id{get;set;} 公共字符串名称{get;set;} //公共日期时间开始时间{
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
名称空间测试模型
{
公共类用户
{
公共int Id{get;set;}
公共字符串名称{get;set;}
//公共日期时间开始时间{get;set;}
//公共日期时间结束时间{get;set;}
//公共整数{get;set;}
//公共字符串地址{get;set;}
}
}
模型(已更改):
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
名称空间测试模型
{
公共类用户
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共日期时间开始时间{get;set;}
//公共日期时间结束时间{get;set;}
//公共整数{get;set;}
//公共字符串地址{get;set;}
}
}
控制器(在updateUser更改):
使用系统;
使用System.Collections.Generic;
使用System.Linq;
Net系统;
使用System.Net.Http;
使用System.Web.Http;
使用Test.DBA;
使用测试模型;
名称空间测试控制器
{
公共类UserApicController:ApicController
{
ApiDbContext=null;
公共用户apicontroller()
{
dbContext=新的ApiDbContext();
}
[HttpPost]
公共IHttpActionResult插入器(用户)
{
dbContext.Users.Add(用户);
dbContext.saveChangesSync();
返回Ok(用户名);
}
public IEnumerable GetAllUser()
{
var list=dbContext.Users.ToList();
退货清单;
}
[HttpPost]
公共IHttpActionResult DeleteUser(用户用户)
{
dbContext.Users.Remove(用户);
dbContext.SaveChanges();
返回Ok(用户名);
}
[HttpGet]
公共IHttpActionResult视图用户(int id)
{
var student=dbContext.Users.Find(id);
返回Ok(学生);
}
[HttpPost]
公共IHttpActionResult更新程序(用户)
{
User std=dbContext.Users.Find(User.Id);
标准名称=用户名;
std.startTime=user.startTime;
//std.endTime=user.endTime;
//标准年龄=用户年龄;
//标准地址=用户地址;
dbContext.Entry(std.State=System.Data.Entity.EntityState.Modified;
dbContext.saveChangesSync();
返回Ok();
}
}
}
DBContext:
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Data.Entity;
使用测试模型;
名称空间Test.DBA
{
公共类ApiDbContext:DbContext
{
公共ApiDbContext():基(“连接”)
{
}
公共数据库集用户{get;set;}
}
}
连接字符串:
在package manager控制台中键入
启用迁移
,在键入添加迁移
之后,设置名称,然后键入更新数据库