EF 4.1 Code First: каждое имя свойства в типе должно быть уникальным. Ошибка ассоциации Lookup Table

Это моя первая попытка создать свою собственную модель 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.

5
задан abatishchev 4 February 2016 в 22:31
поделиться