Страница создания CRUD по умолчанию для Blazor не находит модельC#

Место общения программистов C#
Ответить
Anonymous
 Страница создания CRUD по умолчанию для Blazor не находит модель

Сообщение Anonymous »

Я создал несколько страниц CRUD на основе своих моделей, используя элемент создания шаблона согласно руководству Blazor. По какой-то причине я не могу понять, некоторые из них работают, а некоторые нет.
Код здесь почти идентичен аналогичной странице создания, которая у меня есть для другой модели. . В базе данных SQL есть таблица. Даже форма редактирования работает отлично после того, как я добавил запись в базу данных SQL с помощью запроса. Но на странице Create выдается следующая ошибка:

InvalidOperationException: EditForm требуется либо параметр модели, либо параметр EditContext. Укажите один из них.

Я попробовал явно создать экземпляр модели в функции инициализации, но привязка не сработала. Я в полной растерянности.
@page "/characters/create"
@using Microsoft.EntityFrameworkCore
@using App.src.Models
@inject IDbContextFactory DbFactory
@inject NavigationManager NavigationManager
Create

Create

Ship







Name:



CaptainID:



Create




Back to List

@code {
[SupplyParameterFromForm]
private Ship Ship { get; set; } = new();

private async Task AddShip()
{
using var context = DbFactory.CreateDbContext();
context.Ship.Add(Ship);
await context.SaveChangesAsync();
NavigationManager.NavigateTo("/ships");
}
}

А вот моя модель:
namespace App.src.Models
{
public class Ship
{
public int Id { get; set; }
public string? Name { get; set; }
public int CaptainID { get; set; }
public Character Captain { get; set; } = null!;
}
}


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

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

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

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

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

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