Ссылка на дочернюю таблицу из другой таблицы? - PullRequest
0 голосов
/ 17 января 2020

Итак, я использую TPT (Table per Type) в EntityFramework 6 для создания иерархии таблиц, предположим что-то вроде этого:

public class Model
{
    public int Id { get; set; }
    public int CommonProperty { get; set; } 
} 

public class ModelA: Model
{
    public string PropertyA { get; set; }
}

public class ModelB: Model
{
    public int PropertyB { get; set; }
}

Теперь мне нужно сослаться на таблицу ModelA из себя, так что он содержит ссылку на сущности одного типа, что-то вроде этого:

public class ModelA: Model
{
    public string PropertyA { get; set; }

    public int ModelAId { get; set;

    public ModelA ModelA;
}

Теперь эта ссылка, очевидно, относится к таблице Model, а не к ModelA, так как эта технически не имеет своей собственной Id.

Как я могу это сделать?

Я думал о добавлении нового внутреннего int с именем ModelAId и ссылаюсь на него, но я не знать, если есть лучшее решение.

1 Ответ

0 голосов
/ 17 января 2020

Теперь эта ссылка, очевидно, относится к таблице Model, а не к ModelA, поскольку технически у нее нет собственного идентификатора.

Вы забываете это (по крайней мере, в соответствии с в приведенный вами пример кода), поскольку ModelA наследуется от Model, теперь он также имеет свои собственные атрибуты Id и CommonProperty.

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