如何使用代码首先迁移到更新数据库?

斋作

我制作了ac#.NET WebAPI,它可以工作,但是当我更改模型时,它停止工作,并显示以下错误消息。

自创建数据库以来,支持“ ApiDbContext”上下文的模型已更改。考虑使用“代码优先迁移”来更新数据库。

这是我的代码:

该模型(不变):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test.Models
{
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        //public DateTime startTime { get; set; }
        //public DateTime endTime { get; set; }
        //public int Age { get; set; }
        //public string Adress { get; set; }
    }
}

型号(已更改):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test.Models
{
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public DateTime startTime { get; set; }
        //public DateTime endTime { get; set; }
        //public int Age { get; set; }
        //public string Adress { get; set; }
    }
}

控制器(在updateUser处更改):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Test.DBA;
using Test.Models;

namespace Test.Controllers
{
    public class UserAPIController : ApiController
    {
        ApiDbContext dbContext = null;
        public UserAPIController()
        {
            dbContext = new ApiDbContext();
        }
        [HttpPost]
        public IHttpActionResult InsertUser(User user)
        {
            dbContext.Users.Add(user);
            dbContext.SaveChangesAsync();

            return Ok(user.Name);
        }

        public IEnumerable<User> GetAllUser()
        {
            var list = dbContext.Users.ToList();
            return list;
        }

        [HttpPost]
        public IHttpActionResult DeleteUser(User user)
        {
            dbContext.Users.Remove(user);
            dbContext.SaveChanges();

            return Ok(user.Name);
        }

        [HttpGet]
        public IHttpActionResult ViewUser(int id)
        {
            var student = dbContext.Users.Find(id);
            return Ok(student);
        }

        [HttpPost]
        public IHttpActionResult UpdateUser(User user)
        {
            User std = dbContext.Users.Find(user.Id);

            std.Name = user.Name;
            std.startTime = user.startTime;
            //std.endTime = user.endTime;
            //std.Age = user.Age;
            //std.Adress = user.Adress;

            dbContext.Entry(std).State = System.Data.Entity.EntityState.Modified;
            dbContext.SaveChangesAsync();

            return Ok();
        }
    }
}

DBContext:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using Test.Models;

namespace Test.DBA
{
    public class ApiDbContext :DbContext
    {
        public ApiDbContext() : base("Connection")
        {

        }
        public DbSet<User> Users { get; set; }
    }
}

连接字符串:

<connectionStrings>
   <add name ="Connection" connectionString="Data Source=.\SQLExpress;Initial Catalog=k;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
darkhac

键入Enable-Migrationspackage-manager-console,在type之后add-migration,设置名称,然后键入update-database

https://msdn.microsoft.com/zh-CN/data/jj591621(v=vs.113).aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您如何首先使用代码创建数据库?

实体框架代码首先迁移多个数据库

如何在docker(Symfony)上迁移到数据库?

如何使用ef6.0将数据库迁移到Upper中生成的Oracle数据库字段

如何使用 Asyncio 模块将数据库从 Sqlite 迁移到 Postgres?

首先使用生产数据库部署实体框架代码

首先使用实体框架代码-如何为生产数据库运行Update-Database

如何首先使用代码在已创建的数据库中创建ASP.net身份表?

如何从 Oracle 10g 数据库迁移到 MySql 8 数据库

如何将 Azure MySql 数据库迁移到 Azure MS SQL 数据库

如何从CodeIgniter数据库迁移到Laravel数据库

如何更新实体框架7迁移和数据库-代码优先

EntityFrameworkCore如何从Visual Studio代码(VSCode)运行“更新数据库”和“添加迁移”

如何首先使用EF数据库检索数据

首先更新数据库模型(.edmx)

代码优先迁移到 Azure 数据库/网络服务

如何首先使用EF数据库进行子类化

如何使EF Core数据库首先使用枚举?

如何首先使用通过代码创建的数据库中的数据填充Google图表-ASP.Net MVC

Entity Framework 6.1.2中基于代码的数据库迁移:如何避免使用powershell命令?

如何避免先使用Entity Framework代码和现有数据库进行迁移?

通过在App Store上更新实时版本将SQLite数据库迁移到Core Data

如何将数据从生产数据库迁移到开发数据库(第4条)?

如何在迁移中使用内部联接时更新Laravel数据库

如何在Azure上使用EF更新/迁移SQLite数据库

Yii2如何使用数据库迁移文件更新单元

如何使用没有迁移历史记录的实体框架更新数据库

如何使用Grails DBMigration插件更新已运行的数据库迁移文件?

如何将数据从Mongo数据库迁移到Firestore?