Исправлено, чтобы разрешить ввод значения NULL для базы данных, созданной с использованием платформы Entity, теперь нужнC#

Место общения программистов C#
Ответить
Anonymous
 Исправлено, чтобы разрешить ввод значения NULL для базы данных, созданной с использованием платформы Entity, теперь нужн

Сообщение Anonymous »

Я выполнил несколько шагов, чтобы сгенерировать всю базу данных и т. д. (и мне пришлось вручную вернуться назад, чтобы настроить столбцы базы данных как Null и изменить типы данных), но когда я запускаю его и пытаюсь создать новый объект в базе данных (новый сотрудник) на странице создания, а не непосредственно внутри dbo с помощью VS2022, я получаю окно, которое стирает себя и сообщает следующее:

Адрес электронной почты обязателен

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

Код: Выделить всё

Email address:@*Testing possible solutions*@


Будем очень признательны за любую помощь.
РЕДАКТИРОВАТЬ: Хорошо, извините за недостаточно подробное описание. Перестроен с самого начала, и на этот раз он работает правильно, устанавливая правила для столбцов с шага 1:
Теперь он принимает входные данные в форме электронной почты, включая нулевые значения.
Ошибка была вызвана редактированием базы данных, а не просто ее восстановлением с правильными правилами. Проще говоря, формы «Телефон» и «Электронная почта» на страницах Razor были помечены как обязательные, несмотря на то, что они не были помечены как требуемые самими правилами БД.
Я предполагаю, что при втором просмотре причиной этого стали сценарии частичной проверки, дело в том, что я не настолько разбираюсь, как хотелось бы, в изучении структур сущностей и оттачиваю свои навыки работы с C #, и в результате я не смог найти, как это исправить, кроме как начать заново или где validationscriptspartial будет найден.
У меня аналогичная проблема с функциями поиска, но я знаю источник проблемы, но не знаю, как заставить ее работать. У меня есть строковая переменная SearchTerm для хранения поискового запроса, но при печати она всегда возвращается как пустая, вероятно, проблема с применением данных формы к строковой переменной.
Это страница поиска:

Код: Выделить всё

@{
ViewData["Title"] = "Create";
}

Create

[h4]Staff[/h4]




























Back to List

@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Это контроллер:

Код: Выделить всё

public async Task SearchStaff()
{
return View();
}
// PoST: Search STILL NEEDS WORK STRING NULL
public async Task SearchResults (String SearchQuery)
{
Console.WriteLine("Query is " + SearchQuery);
return View("Index", await _context.Staff.Where(s => s.FirstName.Contains(SearchQuery) | s.LastName.Contains(SearchQuery) | s.Email.Contains(SearchQuery) | s.Telephone.Contains(SearchQuery)).ToListAsync());
}
Я проверял имя строки в обоих случаях сто раз, и они правильные, проверял строки записи и возвращал значение, оно пустое, что бы я ни печатал, очевидно, не подходит для поиска в базе данных. Очевидно, что форма не прикрепляется к переменной SearchQuery. Как лучше всего это сделать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»