Добавлять реестр к таблице формы, предопределенной в ASP.NET MVC с Code-First

Кто-то, кто работал бы с моделью Кодефирст в ASP.NET MVC и кто мог бы давать мне идею, чтобы знать: Как добавлять пользователь формы, предопределенной в таблице User, когда работает впервые строительство подмостков моего Context? Я помещаю этот простой фрагмент 3 подмостков, которые создаются в проекте. Действительно та, которая интересует меня, - таблица User, так как он в ней, где я хочу, чтобы предопределенной формы был создан пользователь (ADMIN), inmediatemente после созданная таблица. Ощутитесь, что колонной user_id_created должен будет быть REQUIRED, для того, чтобы ТОЛЬКО последующие реестры хранили, какой пользователь был тем, который создал их. Я надеюсь быть самым ясным и простым, чтобы предаваться мне пониманию, что является тем, что я хочу сделать. Я им благодарен заранее за интерес и(или) помощь.

class Project_Context : DbContext
{
    public Project_Context() : base("DefaultConnection")
    {
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
    }
    public DbSet<State> States { set; get; }
    public DbSet<City> Cities { set; get; }
    public DbSet<User> Users { set; get; }
}
public class User
{
    [Column("user_id")]
    [Key]
    public int Id { set; get; }
    [Column("user_email")]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "E-mail")]
    [Index("user_user_email", IsClustered = false, IsUnique = false, Order = 1)]
    [StringLength(100, ErrorMessage = "El campo {0} puede contener máximo {1} y mínimo {2} caracteres", MinimumLength = 7)]
    [Required(ErrorMessage = "El campo {0} es requerido")]
    public string Email { set; get; }
    [Column("user_password")]
    [DataType(DataType.Password)]
    [Display(Name = "Contraseña")]
    [Required(ErrorMessage = "El campo {0} es requerido")]
    [StringLength(100, ErrorMessage = "El campo {0} puede contener máximo {1} y mínimo {2} caracteres", MinimumLength = 3)]
    public string Password { set; get; }
    [Column("city_id")]
    [Display(Name = "Ciudad")]
    [Required(ErrorMessage = "El campo {0} es requerido")]
    public int IdCity { set; get; }
    public virtual City City { set; get; }
    [Column("user_id_created")]
    [Display(Name = "Creado por usuario")]
    [Required(ErrorMessage = "El campo {0} es requerido")]
    public int IdUserCreated { set; get; }
}
1
задан 07.03.2016, 19:00
1 ответ

Если ты используешь migrations, чтобы создавать структуру базы данных

, Используйте Коде Фирст Migrations to Seed the был Датирован

ты смог бы в течение этой операции создавать пользователь в методе Seed()

Seeding ASP.NET Идентити Датабасе

En класс, который он создает migrations, мог бы использовать классы

 protected override void Seed(ProfileManagement.Models.ApplicationDbContext context)
{
    var store = new UserStore<ApplicationUser>(context);
    var manager = new UserManager<ApplicationUser>(store);
    var hasher = new PasswordHasher();
    var user = new ApplicationUser
    {
        UserName = "abhimanyu",
        PasswordHash = hasher.HashPassword("abhimanyu"),
        UserProfileInfo = new UserProfileInfo
        {
            FirstName = "Abhimanyu K",
            LastName = "Vatsa",
            EmailID = "abhikumarvatsa@yahoo.co.in"
        }
    };

    manager.Create(user, "abhimanyu");
}
2
ответ дан 24.11.2019, 14:46

Теги

Похожие вопросы