Мой код не обновляет базу данных
Номер Ошибки:2705,Состояние:4,Класс:16
Имена столбцов в каждой таблице должны быть уникальными. Имя столбца "IsActive" в таблице " dbo.Зачисления указываются более одного раза.
l попробуйте обновить - databas и l получил ошибку ниже
[РЕДАКТИРОВАТЬ]
Убрали весь вид и ASP.NET код как таковой не имеет никакого отношения к ошибке.
модели как
namespace StudentEnrollment.Models { public class Course { [Display(Name = "Course ID")] public virtual int Id { get; set; } [Display(Name = "Course Title")] [Required(ErrorMessage = "Enter Title for course")] [MaxLength(50, ErrorMessage = "Allowable max is 150")] public virtual string Title { get; set; } [Display(Name = "Description")] public virtual string Description { get; set; } [Display(Name = "Number of Credits")] [Required(ErrorMessage = "Enter credits for course")] [RegularExpression("^[1-4]{1}$", ErrorMessage = "Enter value either 1,2 or 3,4")] public virtual string Credits { get; set; } } } namespace StudentEnrollment.Models { public class Enrollment { public virtual int Id { get; set; } [Display(Name = "Student ID")] public virtual int StudentId { get; set; } public Student Student { get; set; } [Display(Name = "Course ID")] public virtual int CourseId { get; set; } public Course Course { get; set; } [Display(Name = "Grade")] [RegularExpression("^[A-F]{1}$", ErrorMessage = "Enter value A , B, C, D, E, F")] public virtual string Grade { get; set; } public bool IsActive { get; set; } [Display(Name = "Assigned Campus")] [Required(ErrorMessage = "Enter value for campus")] public virtual string AssignedCampus { get; set; } [Display(Name = "Enrolled in Semester")] [Required(ErrorMessage = "Enter enrollment semester")] public virtual string EnrollmentSemester { get; set; } [Display(Name = "Enrollment Year")] [Required(ErrorMessage = "Enter value for Enrollment Year ")] [Range(2018,2020, ErrorMessage = "Enter value greater than 2018")] public virtual int EnrollmentYear { get; set; } public virtual String Notes { get; set; } } } namespace StudentEnrollment.Models { public class Student { [Display(Name = "Student ID")] public virtual int Id { get; set; } [Display(Name = "Last Name")] [Required(ErrorMessage = "Enter value for Last Name")] [MaxLength(50, ErrorMessage = "Allowable max is 50")] public virtual string LastName { get; set; } [Display(Name = "First Name")] [Required(ErrorMessage = "Enter value for First Name")] [MaxLength(50, ErrorMessage = "Allowable max length is 50")] public virtual string FirstName { get; set; } } }
есть еще одна ошибка
в System.Data.Entity.Миграции.MigrationsDomainCommand.Выполнить(команда действия) ClientConnectionId:5f388873-4c88-4dfa-96ec-5412a7dfdcce номер ошибки:2705, состояние:4,класс:16 имена столбцов в каждой таблице должны быть уникальными. Имя столбца IsActive в таблице dbo. Зачисление указывается более одного раза. PM>
Есть ли решение в виде запроса внутри таблицы для решения этих проблем????
это запрос enrollemnt
CREATE TABLE [dbo].[Enrollments] ( [Id] INT IDENTITY (1, 1) NOT NULL, [StudentId] INT NOT NULL, [CourseId] INT NOT NULL, [Grade] NVARCHAR (MAX) NULL, [IsActive] BIT NULL, [AssignedCampus] VARCHAR (MAX) NULL, [EnrollmentSemester] VARCHAR (MAX) NULL, [EnrollmentYear] INT NULL, CONSTRAINT [PK_dbo.Enrollments] PRIMARY KEY CLUSTERED ([Id] ASC), CONSTRAINT [FK_dbo.Enrollments_dbo.Courses_CourseId] FOREIGN KEY ([CourseId]) REFERENCES [dbo].[Courses] ([Id]) ON DELETE CASCADE, CONSTRAINT [FK_dbo.Enrollments_dbo.Students_StudentId] FOREIGN KEY ([StudentId]) REFERENCES [dbo].[Students] ([Id]) ON DELETE CASCADE ); GO CREATE NONCLUSTERED INDEX [IX_StudentId] ON [dbo].[Enrollments]([StudentId] ASC); GO CREATE NONCLUSTERED INDEX [IX_CourseId] ON [dbo].[Enrollments]([CourseId] ASC);
Показать текст изображения
Что я уже пробовал:
l действительно пробовал обновить базу данных с помощью visual studio 2017, но она продолжает генерировать одну и ту же ошибку активна более чем одна, а также столбец Notes недопустим
это сообщение об ошибке
Номер Ошибки:2705,Состояние:4,Класс:16
Имена столбцов в каждой таблице должны быть уникальными. Имя столбца "IsActive" в таблице " dbo.Зачисления указываются более одного раза.
PM>
Richard MacCutchan
Сообщение об ошибке совершенно ясно; что вы не понимаете?
ZurdoDev
OP использует Entity Framework, что означает, что они не писали код для INSERT/UPDATE, а фреймворк.
Richard MacCutchan
Но они все равно сделали базовый дизайн. И нет смысла использовать фреймворк, если вы не понимаете, что происходит внутри него.
ZurdoDev
Вероятно, у вас где-то есть какой-то код, вызывающий SQL, или ваша модель испорчена. Может быть, обновить свою модель?