Итак, я использую 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 и ссылаюсь на него, но я не знать, если есть лучшее решение.