когда делаю migrations выдаёт ошибку:
The entity type 'Person' requires a primary key to be defined.
Мой код:
public class Person
{
public int CustomerID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Order_Product { get; set; }
}
public class Information
{
public int OrderID { get; set; }
public int CustomerID { get; set; }
public string Title { get; set; }
public byte[] Photo { get; set; }
public string Text { get; set; }
}
using Microsoft.EntityFrameworkCore;
public class VideoGamesDatabaseContext : DbContext
{
public DbSet<Person> Persons {get; set;}
public DbSet<Information> Informations {get; set;}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Server=localhost,2727; Database=Persons; User=sa; Password=Pa$$word1");
}
}
Добавьте поле
public int PersonId { get; set; }
или просто
public int Id { get; set; }
Согласно текущим соглашениям EF автоматически распознает по наименованию первичный ключ.
Альтернативный вариант - не менять наименование поля, а проставить атрибут [Key] над полем, которое у вас первичный ключ (я правда не уверен, что это именно это поле первичный ключ)
[Key]
public int CustomerID { get; set; }
Но это вариант не так удобен, когда вы будете указывать внешние ключи - они автоматом не подцепятся и придётся прописывать атрибуты. (Впрочем - может вам так нравится, ручной контроль и т.п.)
Обратите внимание, в Informations у вас тоже нет ключа.
Ссылки по теме:
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет, мне нужно сделать лог вставки в базу данных и сохранить этот лог в файлНаведите пожалуйста пример или документацию ибо я не нашел
Делаю корзину, много товаров, хотел прикрутить ajax на тык по кнопке, не могу понять как передать значение $cartItem->rowId для удаления выбранного...