如何在运行时使用EF Core创建数据库表?

时间:2017-07-25 08:38:42

标签: asp.net-mvc entity-framework asp.net-core entity-framework-core

我是ASP.NET Core的新手。我正在使用带有EF Core的VS2017 ASP.NET Core来构建应用程序,该应用程序允许我管理保存在数据库中的表中的每日采购订单。

在网络上有一个输入文本框,允许我输入表名,当我单击“创建”按钮时,将创建新表。我会每天创建一个新表格,例如“Order25072017”,“Order26072017”,......等等。

1)如何使用EF核心以编程方式在asp.net Core MVC中创建新表?

这些新表使用相同的“Order”模型/模式,获取订单列表的代码是“_context.Order25072017.ToList();”。我打算用表名列表创建下拉列表。选中后,它将允许我从所选表格中获取订单列表。

2)我在OnModelCreating()中需要做什么? 3)如何在查询中更改表名称,例如_context。{newtable} .ToList()在运行时?

数据库上下文:

$em = $this->getContainer

模特:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    public DbSet<Order> Order25072017 { get; set; }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
    }
}

OrderController中的构造函数:

public class Order
{
    public int ID { get; set; }
    [Required]
    public string Product  { get; set; }
    public int Price { get; set; }
    public int Discount { get; set; }
}

1 个答案:

答案 0 :(得分:0)