#c# #entity-framework
#c# #entity-framework
Вопрос:
На этой странице описаны все шаги по редактированию RC: http://msdn.microsoft.com/en-us/library/dd456813.aspx
Это простые шаги, довольно интуитивно понятные для всех, кто работает с базой данных. Однако, когда я пытаюсь отредактировать его, я могу изменить основной компонент (как описано), и:
- зависимость заполняется автоматически, я не могу установить ее вручную
- Я не могу установить основной ключ
- Я не могу установить зависимый ключ
Сетка для ключей просто мертва, я даже не могу щелкнуть по ней.
Я пытаюсь восстановить RC после того, как случайно изменил его (введя базовый класс для таблиц).
Вопрос — почему я не могу редактировать RC сейчас и как исправить эту проблему?
Одним из «решений» является удаление всех затронутых таблиц из модели и обновление модели из базы данных (см.: http://www.mikelindegardeonline.com/2011/03/03/entity-framework-insufficient-mapping-error /). Но это разрушает все мои другие изменения.
.Net 4.0.
РЕШАЕМАЯ
Я не заметил отсутствия маленького значка клавиши рядом с полями. Когда я добавил базовый класс, это повлияло не только на отношения, но и на ключевые поля. Без ключевых полей я не смог бы исправить отношения.
Ответ №1:
Откройте ваш EDMX-файл в редакторе XML (щелкните его правой кнопкой мыши в обозревателе решений, выберите «Открыть с помощью …», а затем «Редактор XML»).
Тогда вы можете изменить что угодно. Убедитесь, что вы просматриваете весь документ; некоторые изменения вам придется выполнить в нескольких местах.
Комментарии:
1. Спасибо. Я сделал, как вы написали, однако, когда я возвращаюсь к обычному представлению модели и перехожу к определению ограничения, я получаю сообщение об ошибке (сообщение записывается непосредственно в сетке), в котором говорится «не найдено» (я думаю, что жалоба касается ключевого поля) и предупреждение о том, что это ограничение будет удалено. Ключ поля, конечно, существует и действителен.
2. Требуется некоторое время, чтобы привыкнуть к редактированию XML… Как я уже говорил, некоторые изменения в документе приходится выполнять несколько раз, чтобы сохранить его согласованным.