Я пытаюсь понять Entity Framework, и у меня есть таблица «Пользователи» и таблица «Страницы». Они связаны отношением «многие ко многим» с соединительной таблицей «UserPages». Прежде всего, я хотел бы знать, правильно ли я разрабатываю эти отношения, используя «многие ко многим»: один пользователь может посещать несколько страниц, и каждую страницу могут посещать несколько пользователей..., так что я прав в использовании много2много?
Во-вторых, и это более важно, как я понял отношения m2m, таблицы User и Page не должны повторять информацию. т.е. должна быть только одна запись для каждого пользователя и каждой страницы. Но тогда в рамках сущности, как я могу добавить новые посещения одной и той же страницы для одного и того же пользователя? То есть я думал, что могу просто использовать метод Count() в IEnumerable, возвращаемый запросом LINQ, чтобы получить количество посещений пользователем определенной страницы.
Но я не вижу способа сделать это. В Linq to Sql я мог получить доступ к таблице соединений и добавить туда записи, чтобы отразить добавленные посещения определенной страницы определенным пользователем столько раз, сколько необходимо. Но в EF я не могу получить доступ к таблице соединений. Я могу перейти только от пользователя к коллекции страниц и наоборот.
Я уверен, что неправильно понимаю отношения или что-то в этом роде, но я просто не могу понять, как это смоделировать. Я всегда мог бы иметь столбец Count в таблице Page, но, насколько я понял, вы не должны проектировать таблицы базы данных таким образом, эти значения должны собираться запросами...
Помогите, пожалуйста, понять, что я делаю не так...