У меня есть модель транзакции, которая имеет отношения «один к одному» с моделью обслуживания, а затем у модели Service есть много ServiceAddons.Один к одному/одному ко многим
public class Transaction
{
public int TransactionId {get;set;}
public string Username {get;set;}
public Service OccasionService {get;set;}
}
public class Service
{
[Key]
public int TransactionId {get;set;}
public Transaction Transaction { get; set; }
public virtual IList<ServiceAddon> ServiceAddons { get; set; }
}
public class ServiceAddon
{
public int ServiceAddonId { get; set; }
public int TransactionId { get; set; }
public int AddonId { get; set; }
public decimal AddonPrice { get; set; }
public virtual Addon Addon { get; set; }
}
Теперь консоль управления пакетами говорит мне, что OccasionServiceId не существует в ServiceAddon, поэтому я изменил TransactionID для нее, программа компилируется, но теперь он говорит Invalid колонка OccasionServiceId. Как это исправить?
Спасибо за ваш ответ. Я попробовал, и менеджер пакетов сказал, что он не может определить главный конец связи между типами Сервис и Транзакция? – WannaCSharp
Я думаю, что это может быть из-за вашего Service.TransactionId, который, кажется, является внешним ключом и первичным ключом? См. Мой второй фрагмент кода. –
Это должно быть что-то вроде: 'Transaction.TransactionId 1 <-> 1 Service.TransactionId' и' Service.ServiceId 1 <-> * ServiceAddon.ServiceId' Я немного изменил ответ на 'ServiceAddon'. Удачи! В постель: P –