Ошибка 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);
}
}
}
Можете подсказать в чем может быть причина, почему объект ссылается на не существующую таблицу?