gpt4 book ai didi

c# - 未使用 EF 代码优先方法映射表

转载 作者:行者123 更新时间:2023-12-03 21:52:01 24 4
gpt4 key购买 nike

我想使用EF 代码优先方法。我添加了数据库并生成了表格。然后我添加了这个类

  public class Invitation
{


[Key]
public int Id { get; set; }

[DefaultValue(false)]
public bool State { get; set; }

public string Mail { get; set; }

public string Tel { get; set; }

public string Name { get; set; }

public string Qr_code { get; set; }

}

然后我运行这些命令:

add-migrations second

update-database

第二类迁移的UpDown方法都是空的!!并且没有表添加到数据库中。

背景

 public class ApplicationContext: IdentityDbContext<ApplicationUser>
{
public ApplicationContext()
:base("DefaultConnection")
{
Database.SetInitializer<ApplicationContext>(new CreateDatabaseIfNotExists<ApplicationContext>());
}

public static ApplicationContext Create()
{
return new ApplicationContext();
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}

所以我需要知道

  1. 这个问题的原因是什么?
  2. 我该如何修复它?

最佳答案

您似乎忘记告诉 Entity Framework 您想要添加的新表 ( DbSet<Invitation> )

添加此内容后, Entity Framework 应分别添加您想要在迁移脚本中添加的表。

总而言之,您需要添加此行:

public DbSet<Invitation> Invitations { get; set; }

和/或

public IDbSet<Invitation> Invitations { get; set; }

并运行另一个迁移脚本。

关于c# - 未使用 EF 代码优先方法映射表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36916150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com