Отсутствует ядро ​​RelationalTypeMapping Entity Framework - PullRequest
0 голосов
/ 08 сентября 2018

Я вручную настроил свои отображения Entity Framework, используя свободный конструктор моделей, и все отлично работает в тот момент, когда я запрашиваю, но при попытке создать сущность я получаю следующее:

Значение не может быть нулевым. Имя параметра :lationalTypeMapping

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

в Microsoft.EntityFrameworkCore.Utilities.Check.NotNull [T] (значение T, имя параметра String)
в Microsoft.EntityFrameworkCore.Storage.Internal.TypeMappedRelationalParameter..ctor (String invariantName, String name, RelationalTypeMappinglationalTypeMapping, Nullable 1 nullable)<br> at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder.AddParameter(String invariantName, String name, IProperty property)<br> at Microsoft.EntityFrameworkCore.Storage.RelationalCommandBuilderExtensions.AddParameter(IRelationalCommandBuilder commandBuilder, String invariantName, String name, IProperty property) at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.CreateStoreCommand() at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple 2 параметра, CancellationToken cancellationToken) в Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync [TState, TResult] (состояние TState, Func 4 operation, Func 4 verifySucceeded, CancellationToken cancellationToken) в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync (IReadOnlyList 1 entriesToSave, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at FastTrack.EntityFramework.Services.EntityFrameworkService 3.CreateAsync (TDto dto)

Вот мой код сопоставления:

   builder.Entity(typeof(Page), b =>
            {
                b.HasOne(typeof(Site))
                    .WithMany()
                    .HasForeignKey("SiteId")
                    .IsRequired();
            });

            builder.Entity<Site>()
                .HasMany(x => x.Pages)
                .WithOne(x => x.Site)
                .HasForeignKey("SiteId")
                .IsRequired();

Вот сущности:

  public class Site
    {
        public int Id {get; set;}
        public string Name {get; set;}
        public IList<Page> Pages { get; set; }
        public string Domain { get; set; }
    }


   public class Page
    {
        public int Id {get; set;}
        public string Name {get; set;}
        public IList<PageSelector> PageSelectors { get; set; }
        public string Path { get; set; }
        public Site Site { get; set; }
        [ForeignKey("Site")]
        public int SiteId { get; set; }
    }

Что могло вызвать это? Кажется, что сопоставления настроены правильно, и все работает до тех пор, пока я не хочу вставить что-то в базу данных.

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