Репозиторий EF CF Сбой при обращении к несуществующему полю - PullRequest
0 голосов
/ 26 декабря 2018

Я создаю уровень доступа к данным, используя шаблон репозитория и Code First для .NET Core.У меня не было проблем с Code First, когда это был просто обычный .NET Framework, но у меня много проблем с .NET Core.

Текущий вопрос: у меня есть куча простых классов, и яя пытаюсь получить только список того, что хранится в таблице, и я получаю странное сообщение об ошибке: Неверное имя столбца «AspNetUserId».Однако у меня нет такого названия столбца.У меня есть таблица AspNetUsers, и у нее есть поле Id.Другие таблицы, на которые ссылается эта таблица, используют поле UserId в качестве FK.

Ниже приведен упрощенный код основных классов:

CREATE TABLE [dbo].[AspNetUsers](
    [Id] [uniqueidentifier] NOT NULL,
...
 CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH ...


CREATE TABLE [dbo].[Accounts](
    [AccountAddress] [nvarchar](150) NOT NULL,
    [UserId] [uniqueidentifier] NOT NULL,
...
 CONSTRAINT [PK_Accounts_1] PRIMARY KEY CLUSTERED 
(
    [AccountAddress] ASC
)WITH...


    public class AspNetUser
    {
        [Key]        
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public Guid Id { get; set; } // Id (Primary key)

      ...
  }

 public class DataContext : DbContext   
 {
        public DbSet<Account> Accounts { get; set; }

        public DbSet<AspNetUser> AspNetUsers { get; set; }
        ...

 }

 protected override void OnModelCreating(ModelBuilder modelBuilder)
 {
            modelBuilder.Entity<AspNetUser>()
                .HasMany(p => p.Accounts)
                .WithOne(p => p.AspNetUser);

            modelBuilder.Entity<AspNetUser>()
                .HasOne(p => p.Currency);

            modelBuilder.Entity<Account>()
                .HasOne(p => p.Currency);

          ...


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