Это моя первая попытка создать собственную модель EF, и я застрял, пытаясь создать ассоциацию таблицы поиска с использованием Code First, чтобы я мог получить доступ к:
myProduct.Category.AltCategoryID
У меня есть правильные настройки моделей и сопоставлений, но я продолжаю получать
ошибка 0019: каждое имя свойства в типе должно быть уникальным. Имя свойства 'CategoryID' уже определено
В моем коде представлены следующие модели:
[Table("Product", Schema="mySchema")]
public class Product {
[Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)]
public int ProductID { get; set; }
public int CategoryID { get; set; }
public virtual Category Category { get; set; }
}
[Table("Category", Schema="mySchema")]
public class Category {
[Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)]
public int CategoryID { get; set; }
public string Name { get; set; }
public int AltCategoryID { get; set; }
}
Я указал ассоциации с:
modelBuilder.Entity<Product>()
.HasOptional(p => p.Category)
.WithRequired()
.Map(m => m.MapKey("CategoryID"));
Я пробовал несколько других вещей, включая добавление аннотации [ForeignKey], но это приводит к ошибке, содержащей ссылку на поле ProductID.