У каждого из них должны быть отдельные отношения. Это означает, что вам нужно что-то вроде:
public class User
{
public ICollection<Post> Posts { get; set; }
public ICollection<PostCollaborator> CollaboratingPosts { get; set; }
}
public class Post
{
public User Owner { get; set; }
public ICollection<PostCollaborator> Collaborators { get; set; }
}
public class PostCollaborator
{
public Post Post { get; set; }
public User Collaborator { get; set; }
}
Другими словами, отношение владельца сообщения на самом деле один-ко-многим. Пользователь может иметь много собственных сообщений, но у каждого сообщения может быть только один владелец. Отношение «Сотрудник после публикации» - это отношение «многие ко многим», для которого требуется объединение PostCollaborator
.
.