Да, если у вас есть идентификаторы, и вам нужно их связать
Вы должны быть в состоянии сделать это (псевдокод)
// how you get this doesn't matter so long as it is in the Context
User user = ...;
Role role = new Role {Id = 2};
// role 2 is in unchanged state
ctx.AttachTo("Roles", role);
// role 2 is unchanged + added relationship between user and role 2
user.Roles.Add(role);
ctx.SaveChanges();
Ключевым моментом здесь является то, что AttachTo
переводит объект в менеджер ObjectState в неизменном состоянии. Пока вам не нужно изменять эту сущность и использовать ее только в том случае, если для построения отношений вам даже не нужно знать все значения свойств, PK достаточно.
Как только он будет прикреплен, вы сможете построить отношения.
Надеюсь, это поможет
Приветствие
Alex