Мне не нравится ни один из 3, но у меня нет лучшего лучшего решения. Из трех второй лучше, но в элементах должно быть что-то визуально различимое (строка заголовка, цвет или «дескриптор»), указывающее, что их можно перемещать.
Похоже, я пропустил сюжет.
решения очень простые.
Вот небольшой пример.
Спасибо
using (UserEntities ctx = new UserEntities())
{
var group = (from g in ctx.Group
select g).FirstOrDefault();
User user = new User();
user.UserName = "Ian";
user.UserGroups.Add(new UserGroups { Group = group });
ctx.AddToUser(user);
ctx.SaveChanges();
}