2016-06-28 4 views
0

Я работаю над проектом JQuery Mobile, используя EDMX + LINQ для получения запросов sql. После некоторого времени работы я заметил, что одна из моих таблиц подключения не была импортирована в мою модель объекта данных, хотя мне сейчас нужно запросить эту таблицу.не все таблицы были импортированы в мой edmx

Here is the table (marked in blue) that was not imported properly

Here you can see the table in model browser but not in the diagram, hence i can't use it in my LINQ queries

Я предполагаю, что он должен сделать что-то с тем, что она является таблица соединений и не стоять на своих собственных, так что я могу сделать в этом случае, если я все еще хотите запросить это с помощью LINQ, а не SQL?

+0

Свойства навигации находятся в ваших Activity_TB и Users_TB, поэтому я бы не стал беспокоиться о диаграмме. Пока вы видите Users_Activities_TB в своем контексте, класс отлично. – JamieD77

+0

Проблема в том, что я не могу запросить эту таблицу , , например, я хочу получить все действия, связанные с конкретным пользователем. , когда я пытаюсь сделать что-то вроде: var userActivities = от uAct в dbEntity.UsersActivities_TB ... таблица не распознается. Использование простого соединения между Users_TB и Activities_TB будет недостаточным, поскольку мне нужно знать, имеет ли этот конкретный пользователь эту конкретную активность, – serg90

+0

, если вы хотите узнать, имеет ли пользователь конкретную активность, вы просто используете 'dbEntity.Users_TB.Where (a => a.Activities_TB.Any (b => b.Act_Name == "Golf")); 'это даст вам все возможности, которые играют в гольф. Также, чтобы получить всех пользователей, играющих в гольф, вы можете использовать' dbEntity. Activities_TB.Where (a => a.Act_Name == 'Golf'). Выберите (a => a.Users_TB); ' – JamieD77

ответ

0

Я бы предположил, что это потому, что в вашей таблице нет первичного ключа, это два поля являются внешними ключами для других таблиц. У меня возникли аналогичные проблемы с просмотрами/таблицами, которые не импортируются. Ему нужен собственный первичный ключ, похожий на User_Activities_TB_ID.

+0

Я дважды проверил это, и оба этих поля являются первичными и внешними ключами. – serg90

+0

По моему опыту, я предлагаю импортировать таблицу в вашу модель. Это зависит от вас, если вы хотите попробовать, вы всегда можете отменить свои изменения в БД и обновить модель. – Seano666

+0

Сейчас я понял, что вы имели в виду: прямо сейчас у меня есть 2 поля, которые являются как первичными, так и внешними ключами. что мне теперь нужно сделать, это добавить третье поле, которое будет также первичным ключом, но будет уникальным только для этой таблицы? так, другими словами, чтобы получить таблицу, импортированную в edmx, у меня должно быть хотя бы одно поле, которое будет первичным ключом и не будет также внешним ключом? исправьте меня, если я ошибаюсь. собираюсь проверить это сейчас – serg90