Как добавить теневое свойство в собственный тип? - PullRequest
0 голосов
/ 02 апреля 2020

Скажем, у меня есть объект Customer со списком принадлежащих ему типов адресов. У меня также есть объект Office со списком принадлежащих ему типов адресов.

В моем методе OnModelCreating () у меня есть:

modelBuilder.Entity<Customer>().OwnsMany(s => s.Addresses, a =>
{
    a.Property<DateTime>("CreatedDate");
    a.Property<DateTime>("UpdatedDate");
}).ToTable("CustomerAddresses");

modelBuilder.Entity<Office>().OwnsMany(s => s.Addresses, a =>
{
    a.Property<DateTime>("CreatedDate");
    a.Property<DateTime>("UpdatedDate");
}).ToTable("OfficeAddresses");

Я получаю ошибку:

«Невозможно использовать таблицу« Адреса »для типа сущности« Customer.Addresses # Address », поскольку она используется для типа сущности« Office.Addresses # Address », и между их первичными ключами нет взаимосвязи.».

Однако, если у меня просто есть:

modelBuilder.Entity<Customer>().OwnsMany(s => s.Addresses).ToTable("CustomerAddresses");
modelBuilder.Entity<Office>().OwnsMany(s => s.Addresses).ToTable("OfficeAddresses");

, это работает.

Так как мне добавить к этому свойства тени?

1 Ответ

0 голосов
/ 02 апреля 2020

Решение, если найдено:

    modelBuilder.Entity<Customer>().OwnsMany(s => s.Addresses, a =>
    {
        a.Property<DateTime>("CreatedDate");
        a.Property<DateTime>("UpdatedDate");
        a.ToTable("CustomerAddresses");
    });

    modelBuilder.Entity<Office>().OwnsMany(s => s.Addresses, a =>
    {
        a.Property<DateTime>("CreatedDate");
        a.Property<DateTime>("UpdatedDate");
        a.ToTable("OfficeAddresses");
    });
...