Задать вопрос
@akass
Developer

Как лучше организовать структуру БД?

Есть пользователь, есть книга.
У каждого пользователя есть набор из книг, соответственно у разных пользователей может быть одна и та же книга (экземпляр не один).
Посоветуйте как лучше организовать структуру, пользователь будет постоянно добавлять книги или из бд или свою туда записывать (которую потом и другие себе смогут записывать), и нужно будет смотреть какие у него есть, а каких нет.
Пока что у меня все на связи 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");

А так же при добавлении книги у пользователя, я обновляю этот список, но там остаются книги, которые он добавил.
  • Вопрос задан
  • 512 просмотров
Подписаться 4 Оценить 2 комментария
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
Ну а что вы хотите тут сделать? нормальное решение. Оптимизировать тут нечего. Какие проблемы возникают?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lasalas
@lasalas
.NET Architect
var books = db.Books.Where(x => !x.Users.Contains(user));
...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы