gpt4 book ai didi

entity-framework-core - 在 EF Core 运行时创建表

转载 作者:行者123 更新时间:2023-12-04 03:06:36 24 4
gpt4 key购买 nike

我知道我可以使用以下命令添加新迁移并创建数据库:

dotnet ef migrations add MigrationName -c DbContextName
dotnet ef database update -c DbContextName
但我需要在运行时创建我的数据库/表。
首先,我试图通过覆盖 OnModelCreating 来做到这一点,但我失败了。它返回一个错误,指出表尚未创建
这是我的 dbcontext 类
public class AimeLoggerContext : DbContext
{
public AimeLoggerContext(DbContextOptions<AimeLoggerContext> options)
: base(options)
{
Database.Migrate();
}

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
}

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity("Aime.Logger.Loggers.Database.Model.Log", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("Datetime");
b.HasKey("Id");
b.ToTable("Logs");
});

base.OnModelCreating(modelBuilder);
}

public DbSet<Log> Logs { get; set; }
}

最佳答案

如果您还需要创建模型表,如果在您的数据库中有一些其他表您可以使用

RelationalDatabaseCreator databaseCreator = 
(RelationalDatabaseCreator) context.Database.GetService<IDatabaseCreator>();
databaseCreator.CreateTables();

关于entity-framework-core - 在 EF Core 运行时创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38532764/

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