Я использовал add-migration
, а затем update-database
- оба работают без ошибок, но изменений, которые я запрашиваю, не произошло. Я проверяю данные своей таблицы в обозревателе серверов, и он не добавляет новый столбец вместе с другими новыми данными. Я приложил свой код, если вам нужно больше кода, пожалуйста, дайте мне знать.
Я создал еще одну миграцию и скопировал те же самые изменения, которые будут добавлены к новым изменениям, чтобы посмотреть, будет ли новая. Migrations/Update2.cs
и Migrations/Update1.cs
- это один и тот же точный код.
//Migrations/Update2.cs "The updated Migration"
namespace EnrollmentApplication.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class Update2 : DbMigration
{
public override void Up()
{
AddColumn("dbo.Courses", "InstructorName", c => c.String());
AddColumn("dbo.Enrollments", "Notes", c => c.String());
AddColumn("dbo.Students", "Age", c => c.Int(nullable: false));
AlterColumn("dbo.Courses", "CourseTitle", c => c.String(nullable: false, maxLength: 150));
AlterColumn("dbo.Courses", "CourseCredits", c => c.String(nullable: false, maxLength: 4));
AlterColumn("dbo.Enrollments", "Grade", c => c.String(nullable: false));
AlterColumn("dbo.Enrollments", "AssignedCampus", c => c.String(nullable: false));
AlterColumn("dbo.Enrollments", "EnrollmentSemester", c => c.String(nullable: false));
AlterColumn("dbo.Students", "StudentFirstName", c => c.String(nullable: false, maxLength: 50));
AlterColumn("dbo.Students", "StudentLastName", c => c.String(nullable: false, maxLength: 50));
}
public override void Down()
{
AlterColumn("dbo.Students", "StudentLastName", c => c.String());
AlterColumn("dbo.Students", "StudentFirstName", c => c.String());
AlterColumn("dbo.Enrollments", "EnrollmentSemester", c => c.String());
AlterColumn("dbo.Enrollments", "AssignedCampus", c => c.String());
AlterColumn("dbo.Enrollments", "Grade", c => c.String());
AlterColumn("dbo.Courses", "CourseCredits", c => c.String());
AlterColumn("dbo.Courses", "CourseTitle", c => c.String());
DropColumn("dbo.Students", "Age");
DropColumn("dbo.Enrollments", "Notes");
DropColumn("dbo.Courses", "InstructorName");
}
}
}
//Models/Course.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace EnrollmentApplication.Models
{
public class Course : IValidatableObject
{
public virtual int CourseId { get; set; }
[Required,]
[StringLength(150)]
public virtual string CourseTitle { get; set; }
public virtual string CourseDescription { get; set; }
[Required]
[StringLength(4), MinLength(1)]
public virtual string CourseCredits { get; set; }
public virtual string InstructorName { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
// Validation 1: Credits have to be between 1-4
if(CourseDescription.Split (' ').Length > 100)
{
yield return (new ValidationResult("Your description is too verbose"));
}
throw new NotImplementedException();
}
}
}
//Models/Enrollment.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace EnrollmentApplication.Models
{
public class Enrollment
{
public virtual int EnrollmentId { get; set; }
public virtual int StudentId { get; set; }
public virtual int CourseId { get; set; }
[Required]
[RegularExpression("[A-F])")]
public virtual string Grade { get; set; }
public virtual Student Student { get; set; }
public virtual Course Course { get; set; }
public virtual bool IsActive { get; set; }
[Required]
public virtual int AssignedCampus { get; set; }
[Required]
public virtual string EnrollmentSemester { get; set; }
[Required]
public virtual int EnrollmentYear { get; set; }
[RegularExpression(@"^[0-9a-zA-Z''-'\s]{1,40}$",
ErrorMessage = "Invalid Characters")]
public virtual string Notes { get; set; }
}
}
//Models/Student.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace EnrollmentApplication.Models
{
public class Student
{
public virtual int StudentID { get; set; }
[Required]
[StringLength(50)]
public virtual string StudentFirstName { get; set; }
[Required]
[StringLength(50)]
public virtual string StudentLastName { get; set; }
//MinimumAge(20)
[MinimumAge(20)]
public virtual int Age { get; set; }
public virtual string Address1 { get; set; }
public virtual string Address2 { get; set; }
public virtual string City { get; set; }
[MaxLength(5)]
[MinLength(5)]
[RegularExpression(@"^[0-9a-zA-Z''-'\s]{1,40}$",
ErrorMessage = "Enter a 5 digit zipcode")]
public virtual string Zipcode { get; set; }
[MaxLength(2)]
[MinLength(2)]
[RegularExpression(@"^[0-9a-zA-Z''-'\s]{1,40}$",
ErrorMessage = "Enter a 2 digit State code")]
public virtual string State { get; set; }
}
}
Нет сообщений об ошибках, но мои изменения не применяются.