EF 6.0 - сопоставить сложный тип с той же таблицей, что и родительское свойство - PullRequest
0 голосов
/ 05 сентября 2018

Я посмотрел на следующее:

Код структуры сущности сначала отображает несколько сложных типов одного типа в таблицу

Учитывая пример кода:

[Table("TXLifeRequest", Schema = "txlife")]
public partial class TXLifeRequest
{
    public virtual OLI_LU_BOOLEAN PendingResponseOK { get; set; }
    ...
}

[Table("OLI_LU_BOOLEAN", Schema = "txlife")]
public partial class OLI_LU_BOOLEAN {

    public string tc { get; set; }

    public string Value { get; set; }
}

Я хотел бы структурировать базу данных так, чтобы OLI_LU_BOOLEAN не находился в новой таблице, а был бы двумя новыми столбцами в таблице TXLifeRequest как что-то вроде TXLifeRequest.PendingResponseOK_tc и PendingResponseOK _Value.

Свободного кода в существующем контексте нет. Есть ли способ сделать это свободно или с помощью атрибутов, чтобы структура класса не изменилась, а таблицы были объединены?

Обновление:

Я пробовал следующее, но он создает новую таблицу TXLifeRequest1 для всех свойств OLI_LU_BOOLEAN. Как бы я указал их как свойства одной таблицы?

modelBuilder.ComplexType<OLI_LU_BOOLEAN>()

CreateTable("imsparamed.TXLifeRequest1",
            c => new
                {
                    Id = c.Int(nullable: false, identity: true),
                    PendingResponseOK_Value = c.String(),
                    PendingResponseOK_Id = c.Int(nullable: false)

                })

1 Ответ

0 голосов
/ 11 сентября 2018

Решение заключается в создании сложного типа:

modelBuilder.ComplexType<OLI_LU_BOOLEAN>().Ignore(i => i.Value);
...