Я использую Платформу Объекта 4 и имею вопрос:
У меня есть столбец пароля в моей базе данных, что я хочу управлять использующим пользовательским SQL. Таким образом, я не хочу, чтобы модель знала что-либо об этом.
Я попытался удалить свойство в окне Mapping Details, но затем я получил ошибку компиляции:
Ошибка 3023: проблема в отображающихся фрагментах, запускающихся в строке 1660:Column Пользователь. Пароль в таблице User должен быть отображен: Это не имеет никакого значения по умолчанию и не nullable.
Так, я сделал столбец nullable в базе данных и обновил модель. Теперь я получаю эту ошибку:
Ошибка 3004: проблема в отображающихся фрагментах, запускающихся в строке 1660:No отображение, указанное для свойств User. Пароль, Пользователь. Соль в Пользователях аппарата. Объект с Ключом (PK) не будет распространение в прямом и обратном направлениях когда: Объект является типом [UserDirectoryModel. Пользователь]
Какие-либо идеи?
Спасибо, Nick
Один из способов исправить это - создать представление вашей таблицы пользователей, которое не включает столбец пароля. Затем используйте вид в своей модели, а не в таблице.
Вы можете просто пометить свойство как частное с помощью панели Свойства в конструкторе EDMX: В параметре создания кода есть параметры Getter и Setter, которые вы можете изменить с Public на Private.