Не думаю, что в таблице Publications
может быть такой же столбец внешнего ключа.Publication.Author
и User.Topics
не могут быть конечными точками одной и той же ассоциации.Вы можете иметь экземпляр Publication
, который не является Topic
и ссылку на User
:
User user = new User() { Topics = new List<Topic>() };
Publication publication = new Publication();
publication.Author = user;
user.Topics.Add(???);
В ???Вы не можете добавить publication
, потому что это не экземпляр Topic
.user.Topics
должен ссылаться на другой объект, кроме publication
, что означает, что эти конечные точки не могут принадлежать одной и той же ассоциации.
Редактировать
Если вы хотите только одну единственную связьимея только один столбец внешнего ключа в базе данных, вы должны либо переместить свойство Author
из Publication
в Topic
, либо позволить коллекции в вашем классе User
ссылаться на Publication
вместо Topic
:
public ICollection<Publication> Publications { get; set; }