Рассмотрим два класса:
public class EntA
{
public Guid Id { get; set; }
[ForeignKey("EntityId")]
public ICollection<TranslationValue> Translations { get; set; }
}
public class EntB
{
public Guid Id { get; set; }
[ForeignKey("EntityId")]
public ICollection<TranslationValue> Translations { get; set; }
}
, а затем у нас есть класс TranslationValue:
public class TranslationValue : IEntity
{
public Guid Id { get; set; }
public Guid EntityId { get; set; }
public string Value { get; set; }
}
Все работает нормально, кроме одного: я не могу иметь внешний ключ в качестве записей вTranslationValue.EntityId будет ссылаться как на EntA, так и на EntB.
Поэтому вопрос заключается в следующем: как определить отношение точно так же, как описано выше, без фактического создания внешнего ключа.
Обходной путьВ настоящее время я использую то, что я создаю миграцию, а затем удаляю часть, отвечающую за создание фактического внешнего ключа.