У меня возникают проблемы при вставке в таблицу кода с использованием EF Core 2.0.
Я получаю это исключение при вызове моего context.SaveChanges()
Cannot insert explicit value for identity column in table 'Departments' when IDENTITY_INSERT is set to OFF.
Вот моя модель:
public class Department
{
public int ID { get; set; }
public string Name { get; set; }
public int? ParentDepartmentID { get; set; }
public Department ParentDepartment { get; set; }
}
Когда я использую SQL Server Profiler, я вижу, что оператор вставки объекта, который выглядит следующим образом:
Ясно пытаюсь вставить мой ParentDepartment снова.
exec sp_executesql N'SET NOCOUNT ON;
INSERT INTO [Departments] ([ID], [Name], [ParentDepartmentID])
VALUES (@p0, @p1, @p2);
',N'@p0 int,@p1 nvarchar(4000),@p2 int',@p0=1,@p1=N'Aalborg',@p2=NULL
Моя функция сохранения, которая сохраняет объект, показанный выше, выглядит следующим образом:
public string Save()
{
string result = this.Validate();
if (result.Equals(""))
{
using (LinerContext context = new LinerContext())
{
context.Departments.Add(this);
context.SaveChanges();
}
}
return result;
}
Действительно надеюсь, что кто-то может помочь - заранее спасибо!