Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用CodeFirst.NETCore更新数据库_C#_Entity Framework_Asp.net Core_Ef Code First - Fatal编程技术网

C# 如何使用CodeFirst.NETCore更新数据库

C# 如何使用CodeFirst.NETCore更新数据库,c#,entity-framework,asp.net-core,ef-code-first,C#,Entity Framework,Asp.net Core,Ef Code First,自学.Net核心web内容 我有一个模型,我已经成功地创建了我的数据库 现在,我将向模型/类添加一个新字段。我希望保留此表中的现有数据,因此不希望重新创建DB/表。如何更新数据库/表格> 我曾尝试在包管理控制台中使用“更新数据库”,但出现错误,告知我的表已存在。我知道是这样的。但我不是在创造 这是我的模型: public class Subscription { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)]

自学.Net核心web内容

我有一个模型,我已经成功地创建了我的数据库

现在,我将向模型/类添加一个新字段。我希望保留此表中的现有数据,因此不希望重新创建DB/表。如何更新数据库/表格>

我曾尝试在包管理控制台中使用“更新数据库”,但出现错误,告知我的表已存在。我知道是这样的。但我不是在创造

这是我的模型:

public class Subscription
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long SubscriptionId { get; set; }
    public string SubscriptionRef { get; set; }
    public string CompanyName { get; set; }
    public string EmailAddress { get; set; }
    public string Salt { get; set; }
    public string Key { get; set; }
    public bool Disabled { get; set; }
    public DateTime DOE { get; set; }
}
这是我的dbinitializer

public class DbInitializer
{
    public static void Initialize(WorkerContext context)
    {
        context.Database.EnsureCreated();
        context.SaveChanges();
    }
}
这是我的startup.cs调用的

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<WorkerContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddMvc();
}
我重新运行项目(我也输入更新数据库),并且没有创建新字段

如何使用代码优先技术更新/编辑/修改/删除表和字段

谢谢

您必须使用:

dotnet ef migrations add "MigrationName" -c ContextName
dotnet ef database update -c ContextName
为了消除移民问题:

dotnet ef migrations remove

这将删除最新的迁移

您需要进一步了解如何删除。您好,感谢您的链接。好的you@FedericoDipuma我本来会删除这个问题,因为它现在看起来很明显,但是有人提供了错误的答案。请在这里写下错误。第一行应该是
dotnet ef migrations add“MigrationName”-c“ContextName”
dotnet ef migrations add "MigrationName" -c ContextName
dotnet ef database update -c ContextName
dotnet ef migrations remove