ParsleySage Ответов: 1

Принести в пустую новую навигационную класса модель бритвы страницы страницы


EF Core 2.1 (использование страниц Razor)

У меня есть таблица, модель и страницы Razor Crud для создания новых графиков экзаменов.

Таблица и модель БД имеет идентификатор внешнего ключа к таблице и модели дат экзамена, которая, в свою очередь, содержит ключевые даты, требующие добавления/обновления в расписание экзаменов на различных этапах экзаменационного цикла. Все эти даты аннулируются.

При создании нового расписания экзаменов единственное поле, которое (возможно) нужно будет установить, - это запланированная дата, только эта из 7 дат в таблице.

Мой вопрос состоит из двух частей:

1) Как создать пустой (инстанцированный, но со всеми нулями) ExaminationDates запись, а затем прикрепить ее новый автоматически сгенерированный первичный ключ к внешнему ключу расписания экзаменов при создании расписания экзаменов? Я предполагаю, что LinQ sql будет автоматическим, когда модели и навигационные свойства будут выполнены правильно, поэтому я пока не хочу беспокоиться об этом.

2) Как добавить запланированную дату datepicker в расписание экзаменов? Мне нужен только один, на эту запланированную дату. Все остальные даты будут автоматически обновляться на различных этапах курса экзамена, что, опять же, я думаю, что могу сделать с LinQ достаточно легко.

Я задаюсь вопросом о наличии навигационного свойства на экзамене на эту запланированную дату. Я также беспокоюсь о моделях страниц, которые я только частично понимаю. Легко сделать crud с одним раскрывающимся списком значений поиска, но с таблицей / моделью, содержащей целую нагрузку дат, как это будет работать? Я кодирую C# уже много лет, но я новичок в EF Core и Entity Framework. Как обычно в жизни, я прочитал сотни страниц, но ни одна из них не повторяет того, что мне нужно сделать.

Любая помощь будет оценена по достоинству.

Что я уже пробовал:

Я пробовал читать самые разные страницы.

1 Ответов

Рейтинг:
7

Mike V Baker

1) это не будет специфично для вашей ситуации, потому что вы не публикуете никакого кода, поэтому я не могу заглянуть в вашу модель данных. Но если вы используете EF, то вам не нужно беспокоиться о значениях внешнего ключа первичного ключа, потому что это работа entity framework. Ваш DBContext будет иметь структуру данных для записей родительского типа, которая включает в себя список записей дочернего типа. Вы создаете родительскую сущность в DBContext, добавляете дочерние сущности в список, принадлежащий этой родительской сущности, и указываете DBContext сохранить изменения()
Естественно, существуют вариации этого процесса, есть асинхронная версия, которая может быть отменена и т. д. Но EF позаботится о том, чтобы получить идентификатор из родительской записи и включить его в дочерние записи (при условии, что ваши данные DBContext структурированы правильно).

2) недостаточно информации о вашем процессе, чтобы иметь возможность помочь здесь.

ХТХ, Майк