从.NET Core中的模型创建数据库表

时间:2017-01-27 18:47:20

标签: c# asp.net asp.net-mvc asp.net-core asp.net-core-mvc

刚开始学习.NET Core。我设法将ApplicationDbContextApplicationUserusing System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Domain.Model { [Table("Employee")] public class Employee { [Key] public int EmployeeId{get; set;} [Required, MaxLength(100)] public string Name {get;set;} } } 文件移动到.net核心类库项目并将其引用到Web项目。这工作正常,因为我可以在我的数据库中看到默认的7个表相关的用户角色和声明。

现在我有类似

的模型
namespace BLL
{
   public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<int>, int>
  {
      public DbSet<Employee> Employees {get;set;}

      public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options): base(options)
      {

      }

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

在ApplicationDbContext文件中

EmployeeController

然后我创建了控制器类public class EmployeeController : Controller { public IActionResult Index() { Employee e = new Employee(); return View(); } } ,并在Index方法中创建了Employee的新对象

controller with views, using Entity Framework

使用Index视图然后我运行一个项目,但这并没有在我的数据库中创建Employee表。

我已经评论了这些文章

更改aspnet用户表主键数据类型

version 4.1.1 of the Admin Java SDK

.NET Core中的CRUD操作

https://medium.com/@goodealsnow/asp-net-core-identity-3-0-6018fc151b4#.fxdzevyzn

我在添加 ab = ("A" "B" "C" "D") cd = ("a" "b" "c" "d" "e") for (int i = 0; i < ab.Count; i++) { ef.Add(ab[i] + cd[i]); } ef ("Aa" "Bb" "Cc" "Dd") 时遇到错误,因此我不得不创建空控制器。https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/adding-model EmployeeController

我应该如何创建将模型注入ApplicationDbContext或生成迁移文件以更新数据库?

1 个答案:

答案 0 :(得分:2)

包管理器控制台中的

Add-Migration init

然后:

Update-Database