Автоматическое добавление столбцов по умолчанию с помощью кода Первой миграции с использованием Entity Framework Core - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть требование добавить столбцы по умолчанию к моделям при запуске миграции. Например: я создал модель до миграции. Я использую. net core v3.1

using DataLayer.DataContext;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace DataLayer.Models
{
    [Table("TodoItem", Schema = "dbo")]
    public class TodoItem : ModalBase
    {
        [Required]
        [Column(TypeName ="varchar(50)")]
        [Display(Name = "Employee Name")]
        public string EName { get; set; }

        [Required]
        [Column(TypeName = "varchar(50)")]
        [Display(Name = "Employee Department")]
        public string EDept { get; set; }
    }
}

Теперь я хочу, чтобы моя модель после миграции была такой же, как показано ниже. Мне нужно сделать это для всех моделей / сущностей, доступных в приложении. это должно быть автоматизировано. он должен предоставлять столбцы по умолчанию динамически при запуске миграции.

using DataLayer.DataContext;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace DataLayer.Models
{
    [Table("TodoItem", Schema = "dbo")]
    public class TodoItem : ModalBase
    {
         //default column which has to be added to this model after i run migration
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Required]
        [Column(TypeName ="varchar(50)")]
        [Display(Name = "Employee Name")]
        public string EName { get; set; }

        [Required]
        [Column(TypeName = "varchar(50)")]
        [Display(Name = "Employee Department")]
        public string EDept { get; set; }

         //default column which has to be added to this model after i run migration
        [Required]
        [Column(TypeName = "bit")]
        [Display(Name = "IsActive")]
        public string IsActive { get; set; }

         //default column which has to be added to this model after i run migration
        [Required]
        [Column(TypeName = "bit")]
        [Display(Name = "IsDeleted")]
        public string IsDeleted { get; set; }
    }
}

Столбцы по умолчанию должны быть созданы в таблицах БД. Может кто-нибудь помочь мне с рабочим примером будет признателен.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 апреля 2020

Для этого вам просто нужно запустить две команды в консоли управления пакетами. 1) Команда Add-Migration 2) Update-Database

Например, Add-Migration TodoItem, затем Update-Database

Если вы хотите отменить миграцию, используйте следующую команду: Remove-Migration

...