Я получаю следующее сообщение об исключении:Ошибка при добавлении объектов в базу данных
при сохранении объектов, которые не выставляют внешний ключ свойства их отношения произошла ошибка. Свойству EntityEntries будет присвоено значение null, потому что один объект не может быть идентифицирован как источник исключения. Обработка исключений при сохранении может быть сделана проще, выставляя свойства внешнего ключа в ваших типах объектов. Подробнее см. В разделе InnerException.
И мое внутреннее исключение связанно со мной изменить имена столбцов на моем столе, поскольку они не имели смысла раньше (они получили название Customer_Customer_ID) и переименовали мой Sku и мои объекты по работе с клиентами, которые состоят в моей корзине , со следующими данными аннотациями
[Table("Cart")]
public class Cart
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public Guid CartID { get; set; }
[Column("SkuID")]
public virtual Sku Sku { get; set; }
[Required]
public int Quantity { get; set; }
[Column("CustomerID")]
public virtual Customer Customer { get; set; }
public bool IsCheckedOut { get; set; }
}
Это внутреннее исключение сообщение об исключении
«Неверное имя столбца 'Customer_Customer_ID'. \ г \ nInvalid имя столбца 'Sku_SKU_ID' «.
Каков правильный способ назвать эти скомпонованные объекты и мне нужно изменить мое OnModelCreating, чтобы отразить эти изменения в структуре сущности?
Спасибо! Я не понимал, что это имело значение. Нужно ли добавлять аннотации данных, что они являются внешними ключами? – ddeamaral
Не нужно добавлять аннотацию данных, поскольку вы следуете за соглашением (ваше имя столбца - это имя таблицы + «ID» (например: CustomerId) – Shyju
Когда я пытаюсь выполнить миграцию, он по-прежнему выводит Customer_CustomerID и мой обычный идентификатор клиента. client_CustomerID. Я скопировал именно то, что у вас есть. – ddeamaral