如何使用EF Core迁移在数据库中创建许多表

时间:2020-10-18 15:27:53

标签: c# asp.net asp.net-core entity-framework-core

我正在做一个书店项目,我首先为添加的书创建了一个表。 因此,我想添加登录页面和注册页面并存储到数据库中,但是对于如何添加其他表或使用迁移创建与我的需求相关的表感到困惑。我已经附加了DbContext类。

请原谅我的英语不太好。我在等你的答案。谢谢

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace CODEwithZAKI.Data
{
    public class BookStoreContext : DbContext
    {
        public BookStoreContext(DbContextOptions<BookStoreContext> options)
            : base(options)
        {
        }

        public DbSet<Books> Books { get; set; }
    }
}

Dbcontext Class

2 个答案:

答案 0 :(得分:0)

要使用迁移将新表添加到数据库中,只需用新集扩展do.call(cbind, combn(names(df), 2, function(x) { setNames(data.frame(as.integer(df[[x[1]]] == df[[x[2]]])), paste0(x, collapse = '_')) }, simplify = FALSE)) # V1_V2 V1_V3 V1_V4 V1_V5 V1_V6 V1_V7 V1_V8 V2_V3 V2_V4 V2_V5 V2_V6 V2_V7 .... #1 0 0 0 0 0 0 0 0 1 0 0 1 .... #2 1 0 0 1 0 1 1 0 0 1 0 1 .... #3 0 0 1 0 0 0 0 1 0 0 1 0 .... #4 0 0 0 0 0 0 0 0 0 0 0 0 .... #5 0 0 0 1 0 0 0 0 0 0 1 0 .... #6 0 0 0 0 0 0 0 0 0 0 0 1 .... #7 0 0 0 0 1 0 1 0 1 0 0 1 .... #8 0 1 1 0 1 0 1 0 0 0 0 1 .... #9 0 0 0 0 0 0 0 1 0 0 0 0 .... #10 0 0 0 0 0 1 0 0 0 0 0 0 .... 并运行迁移命令即可。例如,使用BookStoreContext命令。

生成新的迁移脚本:

dotnet

运行迁移:

dotnet ef migrations add DESCRIPTION_OF_YOUR_MIGRATION

就是这样。每次将新记录添加到BookStoreContext时,您只需执行以上两个命令即可运行EF Core迁移过程。

PS对于登录/身份验证/身份,建议使用ASP.NET Core Identity

答案 1 :(得分:0)

有关如何首先使用ef核心代码向数据库添加新表的步骤,您可以按照以下步骤操作:

1。将新表创建为模型

public class Author
{
    public int Id { get; set; }

    public string Name { get; set; }

    //other properties
}

2。将其条目添加到DbContext类中

public class BookStoreContext : DbContext
{
    public BookStoreContext(DbContextOptions<BookStoreContext> options)
        : base(options)
    {
    }

    public DbSet<Books> Books { get; set; }

    public DbSet<Author> Authors { get; set; }
}

3。在Package Manager控制台中添加帖子,以创建新的迁移

Add-Migration AuthorMigration

4。更新数据库

Update-Database