Я пытаюсь настроить внешний ключ, используя следующие два класса. Я хочу использовать pAcqType как перечисление и хранить имена типов в другой таблице. Как мне настроить мои классы для этого?Отношение внешних ключей
public class Property
{
[Key]
public int pID { get; set; }
public string pAddress { get; set; }
public string pCounty { get; set; }
public string pCity { get; set; }
public string pState { get; set; }
public string pzip { get; set; }
public virtual PropertyAcquisitionType pAcqType { get; set; } <-- foreign key
}
public class PropertyAcquisitionType
{
[Key]
public int patID { get; set; }
public string patName { get; set; }
}
UPDATE
Дэн заставил меня задуматься. И я попробовал следующее, и, похоже, это сработало. Он устанавливает внешний ключ на столе, как я хотел. И он даже не попросил обратного на другом столе.
public int? pAcqType { get; set; }
[ForeignKey("pAcqType")]
public PropertyAcquisitionType patID { get; set; }
Невозможно определить основной конец ассоциации между типами hoahelp.Models.PropertyAcquisitionType 'и' hoahelp.Models.Property '. Основной конец этой ассоциации должен быть явно сконфигурирован с использованием либо свободного API API, либо аннотаций данных. – Prescient
это придирчиво. Свойство ForeignKeyAttribute в свойстве «pAcqType» в типе «hoahelp.Models.Property» недопустимо. Имя внешнего ключа «PropertyAcquisitionTypeId» не было найдено в зависимом типе «hoahelp.Models.Property». Значение Name должно быть разделенным запятыми именами свойств внешнего ключа. – Prescient
@Prescient вы назвали свойство 'PropertyAcquisitionTypeId', или вы назвали его чем-то вроде' pAcqTypeId'? Значение в строке должно соответствовать имени свойства в классе. Если вы назвали его 'pAcqTypeId', тогда вы должны использовать' [ForeignKey ("pAcqTypeId")] ' – danludwig