Ошибка Invalid object name попытка подключиться к несуществующей БД

Делаю проект на платформе Acp.Net core mvc 5. Создал провайдер ролей. Пробую в методе public override string[] GetRolesForUser(string username) получить роли пользователя, вот сам метод

public override string[] GetRolesForUser(string username)
    {
        string[] roles = new string[] { };
        using (ITSMContext db = new ITSMContext())
        {
            Specialist specialist = db.Specialists.FirstOrDefault(s => s.Login == username);
            int a = specialist.Id;
            if (specialist != null)
            {
                ListSpecialistRole specialistRole = db.ListSpecialistRoles
                    .Where(s => s.SpecialistId == specialist.Id)
                    .FirstOrDefault();
                if (specialistRole != null)
                    roles = new string[] { specialistRole.Role.NameRole};
            }
        }
        return roles;
    }

При выполнении получаю следующую ошибку

    Invalid object name 'dbo.ListSpecialistRoles1'.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.Data.SqlClient.SqlException: Invalid object name 'dbo.ListSpecialistRoles1'.

Ошибка источника:


Строка 57:                 if (specialist != null)
Строка 58:                 {
Строка 59:                     ListSpecialistRole specialistRole = db.ListSpecialistRoles
Строка 60:                         .Where(s => s.SpecialistId == specialist.Id)
Строка 61:                         .FirstOrDefault();

Исходный файл: E:\Артём\VISUAL\ITSMForSchool\ITSMForSchool\Providers\CustomRoleProvider.cs    Строка: 59

Трассировка стека:


[SqlException (0x80131904): Invalid object name 'dbo.ListSpecialistRoles1'.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +2573710
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +6014662
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +297
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4291
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +59
   System.Data.SqlClient.SqlDataReader.get_MetaData() +91

Почему-то исключение ссылается на не существующую БД dbo.ListSpecialistRoles1. Таблицы Ролей и Специалистов связаны связью многие ко многим через таблицу ListSpecialistRoles Ниже приведу контекст данных

    public class ITSMContext : DbContext
    {
        public DbSet<Position> Positions { get; set; }
        public DbSet<Specialist> Specialists { get; set; }
        public DbSet<Request> Requests { get; set; }
        public DbSet<RequestProcessing> RequestProcessings { get; set; }
        public DbSet<Status> Statuses { get; set; }
        public DbSet<RequestType> RequestTypes { get; set; }
        public DbSet<Role> Roles { get; set; }
        public DbSet<Room> Rooms { get; set; }
        public DbSet<TypeAsset> TypesAsset { get; set; }
        public DbSet<Asset> Assets { get; set; }
        public DbSet<ListSpecialistRole> ListSpecialistRoles { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Role>().HasMany(c => c.Specialists)
                .WithMany(s => s.Roles)
                .Map(t => t.MapLeftKey("RolesId")
                .MapRightKey("SpecialistId")
                .ToTable("ListSpecialistRoles"));

            modelBuilder.Entity<Status>().ToTable("Statuses");

            modelBuilder.Entity<TypeAsset>().ToTable("TypesAsset");

            modelBuilder.Entity<Specialist>()
                .HasMany(s => s.ListSpecialistRoles)
                .WithRequired(l => l.Specialist)
                .HasForeignKey(l => l.SpecialistId);

            modelBuilder.Entity<Role>()
                .HasMany(r => r.ListSpecialistRoles)
                .WithRequired(lr => lr.Role)
                .HasForeignKey(lr => lr.RoleId);
        }

    }
}

Можете подсказать в чем может быть причина, почему объект ссылается на не существующую таблицу?


Ответы (0 шт):