Ссылочная таблица не входит в мою модель через Entity Framework 5.0

Я использую MVC 4 и Entity Framework 5.0, у меня есть база данных, и эта база данных содержит 6 таблиц, названных следующим образом.

tblUser_family
tblUser_location
tblUser_info
tblUser_photo
tblUser_settings
tblUser_social

когда я создаю файл .edmx, в конструкторе появляется только 5 таблиц, одна таблица «tblUser_settings» не появляется, а все таблицы подключены через foreginKeys.

Я получаю следующую ошибку

Ошибка 1. Ошибка 6004. На таблицу "Community.dbo.tblUser_settings" ссылается отношение, но ее невозможно найти.


person Ashish-BeJovial    schedule 25.05.2015    source источник
comment
В этой таблице должно быть активное ограничение, и оно не найдено при создании модели и, следовательно, ошибка. Возможно, вы захотите проверить это в своем SQL, проверив сценарий CREATE этой таблицы.   -  person Matt Murdock    schedule 25.05.2015
comment
tblUser_setting с использованием tblUser_info => user_id (primary_key) в качестве внешнего ключа. так вы имеете в виду, чтобы удалить это ограничение?   -  person Ashish-BeJovial    schedule 25.05.2015
comment
На tblUser_setting ссылается какая-либо другая таблица в вашей базе данных?   -  person Matt Murdock    schedule 25.05.2015
comment
Нет, на него не ссылается никакая другая таблица.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Попробуйте хоть раз удалить ограничение внешнего ключа tblUser_info из этой таблицы и проверьте, работает ли оно.   -  person Matt Murdock    schedule 25.05.2015
comment
хорошо, я проверю еще раз и дам вам знать.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
я пытался, но это не работает.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
на этот раз я не получил ошибку, но не нашел таблицу tblUser_setting, как обычно.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Попробуйте это, CTRL+A все объекты в вашей модели, удалите их и снова полностью обновите модель из базы данных.   -  person Matt Murdock    schedule 25.05.2015
comment
Пробовал, но не работал.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Дважды проверьте, присутствует ли таблица в файле context.cs и не отображается ли она только в представлении дизайнера.   -  person Matt Murdock    schedule 25.05.2015
comment
Нет, этой таблицы также нет в context.cs, я не думаю, что версия сервера sql будет иметь какое-либо значение, сейчас я использую экспресс VS2014 (из-за требований компании)   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Щелкните правой кнопкой мыши представление конструктора, а затем выберите Обновить модель из базы данных. После этого откроется окно, и там нажмите «Обновить», а затем «Таблицы», а затем «Готово». Проверьте, работает ли это.   -  person Matt Murdock    schedule 25.05.2015
comment
перед нажатием «Готово» я вижу, что на вкладке «Обновить» эта таблица не отображается, а после нажатия «Готово» я не вижу эту таблицу в дизайнере.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Если это возможно, просто удалите эту таблицу с SQL-сервера, создайте ее заново, а затем попробуйте снова полностью обновить свою модель.   -  person Matt Murdock    schedule 25.05.2015
comment
Да, я могу попробовать и дать вам знать.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Я удалил и воссоздал таблицу, затем сделал foreginkey, а затем прикрепил ее из entityFramework, и на этот раз тоже не сработало.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Он показал ту ошибку, которую он показывал ранее /   -  person Matt Murdock    schedule 25.05.2015
comment
О да, я не обратил на это внимания, на этот раз нет ошибки, но отсутствует таблица.   -  person Ashish-BeJovial    schedule 25.05.2015
comment
Ржу не могу. Это становится интересным. Никогда не сталкивался с такими вещами. См. эту ссылку и выполните шаги: stackoverflow.com/questions/28572125/   -  person Matt Murdock    schedule 25.05.2015
comment
См. также: entityframework.codeplex.com/workitem/453   -  person Matt Murdock    schedule 25.05.2015


Ответы (7)


Недавно я решил свою проблему, проблема заключалась в том, что у меня была основная таблица с первичным ключом, и этот первичный ключ был сопоставлен со столбцом моей отсутствующей таблицы в этом столбце, я установил "Разрешить нуль", так как я изменил «Разрешить не ноль» и обновил мою модель данных из Entity framework 5.0, это было видно в моем решении.

Спасибо за все предложения.

person Ashish-BeJovial    schedule 25.08.2015
comment
Я не создал первичный ключ для своей таблицы - person Shaiju T; 28.05.2016

У меня была эта проблема, в моем случае я не создал первичный ключ для своей таблицы, поэтому я просто установил его и смог обновить свой EDMX.

person Tiago Ávila    schedule 29.03.2016

убедитесь, что у вас есть «не нуль» в объявлении FK

person Alejandro Muñoz    schedule 12.10.2016

Моя проблема заключалась в том, что при создании внешних ключей я не указал NOT NULL. Я внес изменения, и таблица импортировалась просто отлично.

person user3669766    schedule 03.08.2017

Таблицы без первичного ключа не будут читаться Edmx.

person Raj    schedule 11.01.2019

У меня была такая же проблема, но я забыл «Записать изменения». Раньше я работал с MSSQL Server, но с DB Browser для SQLite, даже после запуска скрипта нам все еще нужно «Записать изменения» / Ctrl + S, чтобы отразить их в базе данных. Также убедитесь, что FK не являются нулевыми и относятся к тому же типу данных. не int, а Integer и т. д. Также для EDMX вам необходимо определить PK в ваших таблицах. Слабые объекты не будут включены в EDMX.

person Peck_conyon    schedule 29.03.2020

Для внешних ключей я не указывал NOT NULL в справочных таблицах. Я обновил таблицу и обновил файл edmx, чтобы решить проблему.

person Vj Shah    schedule 24.06.2020