Я пытаюсь создать приложение, в котором я могу управлять клиентами. Итак, я создал базу данных и таблицу tecnici, куда я могу вставить всех своих технических специалистов.
Все операции CRUD работали, пока я не создал таблицу clienti
для вставки моих клиентов. Я создал контроллер, модель и представление для clienti
, и когда я запускаю приложение, оно выдает мне эту ошибку System.InvalidOperationException: «Тип объекта« Клиент »требует определения первичного ключа. Если вы намеревались использовать тип сущности без ключа, вызовите 'HasNoKey ()'. '
Ошибка в ClientiController и выдает ту же ошибку, когда я пытаюсь загрузить всех клиентов ftom таблица clienti
ошибка в TecniciController
Это код для ClientiController
public class ClientiController: Controller
{
private readonly AppDbContext _db;
public ClientiController(AppDbContext db)
{
_db = db;
}
public IActionResult Index()
{
var datiClienti = _db.tboClienti.ToList();
return View(datiClienti);
}
public IActionResult CreareCliente()
{
return View();
}
[HttpPost]
public async Task<IActionResult> CreareCliente(Cliente cliente)
{
if (ModelState.IsValid)
{
_db.Add(cliente);
await _db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(cliente);
}
}
Это модель Cliente
public class Cliente
{
[Required(ErrorMessage = "Inserisci il nome di proprietario della azienda")]
[Display(Name = "Nome")]
public string Nome { get; set; }
[Required(ErrorMessage = "Inserisci il cognome di proprietario della azienda")]
[Display(Name = "Cognome")]
public string Cognome { get; set; }
[Display(Name = "Azienda")]
public string Nome_azienda { get; set; }
[Required(ErrorMessage = "Inserisci numero cellulare della Azienda")]
[DataType(DataType.PhoneNumber)]
[Display(Name = "Telefono")]
[RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$",
ErrorMessage = "Numero non valido")]
public string Cellulare { get; set; }
}
У меня есть строка подключения в appsettings.json
И это класс, в котором я настраиваю db:
public class AppDbContext: DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options): base (options)
{
}
public DbSet<Tecnico> tboTecnici { get; set; }
public DbSet<Cliente> tboClienti { get; set; }
}
Пока была только одна таблица (таблица: tecnici
), это не доставляло мне проблем. Когда я создаю модель контроллера и просматриваю таблицу tboClienti, это дает мне ошибку.
Это таблица tboClienti
А это tboTecnici
Есть предложения, как это исправить. Заранее спасибо!