Context.SaveChanges () Броски SqlException: Неверное имя объекта - PullRequest
0 голосов
/ 29 сентября 2018

Я создаю административный портал для моего приложения, которое использует Entity Framework для доступа к базе данных SQL Server.Я не могу понять, почему происходит это исключение, поскольку метод, который вызывает это, не имеет ничего общего с объектом, в котором показано исключение.Проблема в моем методе AuthorizeStaff.Он выполняется нормально, но исключение срабатывает, когда я пытаюсь сохранить свои изменения в базе данных.Вот мой код:

public async Task<IActionResult> AuthorizeStaff(int staffId, int schoolId)
{
        var school = _context.Schools.SingleOrDefault(x => x.Id == schoolId);
        var requested = JsonConvert.DeserializeObject<List<Staff>>(school.RequestedStaff);

        var staff = requested.Single(x => x.Id == staffId);

        List<Staff> staffList = school.StaffList;
        staffList.Add(staff);
        school.Staff = JsonConvert.SerializeObject(staffList);

        requested.Remove(staff);
        school.RequestedStaff = JsonConvert.SerializeObject(requested);

        await _context.SaveChangesAsync();
        return Content("The staff member was authorized succesfully");
}

А вот мой DbContext класс:

public class HallPassContext : DbContext
{
    public HallPassContext(DbContextOptions<HallPassContext> options) : base(options) { }

    public DbSet<School> Schools { get; set; }

    public override int SaveChanges()
    {
        return base.SaveChanges();
    }
}

Я полностью ошеломлен, потому что я не обладаю невероятным опытом работы с Entity Framework и ни один измой код выше включает в себя объект «Pass.»

Вот ошибка:

System.Data.SqlClient.SqlException (0x80131904): Неверное имя объекта «Pass».

в System.Data.SqlClient.SqlCommand. <> C.b__122_0 (Task 1 result)<br> at System.Threading.Tasks.ContinuationResultTaskFromResultTask 2.InnerInvoke ()
в System.Threading.ExecutionContext.RunInternal (обратный вызов ExecutionContext executeContext, ContextCallback, состояние объекта)
Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение

в System.Threading.Tasks.Task.ExecuteWithThreadLocal (Task & currentTaskSlot)

Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение -- в Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync (соединение IRelationalConnection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 параметрValues, IReadOnlyDictionary`2,CancellationToken cancellationToken) в Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync (соединение IRelationalConnection, CancellationToken cancellationToken) ClientConnectionId: 61782dfe-2603-4360-bb7e-50b23 * 10: 10 * 8: 10 * 10: 8 * 10: 22 * ​​0: 810 * * * * * * * * * * * * * * * * * * * * * 8 * 0 * 8 * 10 * 0 * 0 * * 0 * * * * * * * * * * * * * * * * *

Любая помощь была бы отличной, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...