The property could not be mapped because it is of type 'object', which is not a supported primitive type or a valid entity type

Я пытался изменить Базу Данных в MS SQL Server, работая над проектом, с помощью EntityFramework. Однако, при изменении таблицы, и добавления поля строки "Email" вся система рухнула с exception которая не имеет смысла.

Я пытался легкие изменения, потому что не имел идей, но оно не имело эфекта:

Exception:

System.Exception: "Couldn't retrieve entities: The property 'Users.Email' could not be mapped because it is of type 'object', which is not a supported primitive type or a valid entity type. Either explicitly map this property, or ignore it using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'."

Вот DBContext:


namespace PlanetariumModelsFramework
{
    public class PlanetariumServiceContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            Database.SetInitializer<PlanetariumServiceContext>(null);
            base.OnModelCreating(modelBuilder);
        }
        public DbSet<Performance> Performances { get; set; }
        public DbSet<Poster> Posters { get; set; }
        public DbSet<Ticket> Tickets { get; set; }
        public DbSet<Orders> Orders { get; set; }
        public DbSet<Tier> Tiers { get; set; }
        public DbSet<Hall> Halls { get; set; }
        public DbSet<Users> Users { get; set; }
    }
}

Модель Users class:

namespace PlanetariumModelsFramework
{
    public class Users
    {
        public int Id { get; set; }
        public string Username { get; set; } = string.Empty;
        public string Email { get; set; } = string.Empty;
        public string UserPassword { get; set; } = string.Empty;
        public string UserRole { get; set; } = string.Empty;
    }

Repository class, где сама ошибка и появляется:

namespace PlanetariumRepositories
{
    public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
    {
        protected readonly PlanetariumServiceContext RepositoryPlanetarium;

        public Repository(PlanetariumServiceContext repositoryPatternDemoContext)
        {
            RepositoryPlanetarium = repositoryPatternDemoContext;
        }

        public IQueryable<TEntity> GetAll()
        {
            try
            {
                return RepositoryPlanetarium.Set<TEntity>();
            }
            catch (Exception ex)
            {
                throw new Exception($"Couldn't retrieve entities: {ex.Message}");
            }
        }

        public async Task<TEntity> AddAsync(TEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException($"{nameof(AddAsync)} entity must not be null");
            }

            try
            {
                await RepositoryPlanetarium.AddAsync(entity);
                await RepositoryPlanetarium.SaveChangesAsync();

                return entity;
            }
            catch (Exception ex)
            {
                throw new Exception($"{nameof(entity)} could not be saved: {ex.Message}");
            }
        }        

        public async Task<TEntity> UpdateAsync(TEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException($"{nameof(AddAsync)} entity must not be null");
            }

            try
            {
                RepositoryPlanetarium.Update(entity);
                object p = await RepositoryPlanetarium.SaveChangesAsync();

                return entity;
            }
            catch (Exception ex)
            {
                throw new Exception($"{nameof(entity)} could not be updated: {ex.Message}");
            }
        }

        public async Task<TEntity> DeleteAsync(TEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException($"{nameof(AddAsync)} entity must not be null");
            }

            try
            {
                RepositoryPlanetarium.Remove(entity);
                object p = await RepositoryPlanetarium.SaveChangesAsync();
                return entity;
            }
            catch (Exception ex)
            {
                throw new Exception($"{nameof(entity)} could not be deleted: {ex.Message}");
            }
        }
    }
}

UsersRepository class, который наследует его (Дополнительно):

using PlanetariumModels;

namespace PlanetariumRepositories
{
    public class UsersRepository : Repository<Users>, IUsersRepository
    {
        public UsersRepository(PlanetariumServiceContext repositoryPatternDemoContext) : base(repositoryPatternDemoContext)
        {
        }
        public Task<Users> GetByUsernameAsync(string username)
        {
            return base.GetAll().FirstOrDefaultAsync(x => x.Username == username);
        }

        public Task<Users> GetByEmailAsync(string email)
        {
            return base.GetAll().FirstOrDefaultAsync(x => x.Email == email);
        }

        public new List<Users> GetAll()
        {
            return base.GetAll().ToList<Users>();
        }
    }
}

Таблица из БД


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