Есть пользователь, есть книга.
У каждого пользователя есть набор из книг, соответственно у разных пользователей может быть одна и та же книга (экземпляр не один).
Посоветуйте как лучше организовать структуру, пользователь будет постоянно добавлять книги или из бд или свою туда записывать (которую потом и другие себе смогут записывать), и нужно будет смотреть какие у него есть, а каких нет.
Пока что у меня все на связи many-to-many , есть таблица юзера, есть таблица книги, и строится промежуточная, с соответствиями пользователь-книга, но возникают некоторые проблемы, и думаю из-за этого, нормализовать бы надо.
Использую code first EF.
UPDATE:
Вот так для списка я отбираю книги которых нет у юзера, соответственно у только зарегистрировавшегося юзера там должны быть все книги из БД , но если заранее при инициализации базы не создать пользователя, то список будет пуст, хотя Книги в бд записаны.
var books = db.Books.Where(x => x.Users.Any(y => y.Id != user.Id));
SelectList newbooks = new SelectList(books, "Id", "Name");
А так же при добавлении книги у пользователя, я обновляю этот список, но там остаются книги, которые он добавил.