Можно ли использовать код первого и обратного атрибута свойства EF4.2 для одного и того же именованного свойства? - PullRequest
0 голосов
/ 15 ноября 2011

Я хочу знать, есть ли способ получить связанный список одного и того же объекта в одном классе или использовать миграции для настройки модели с этим атрибутом?

public class Person
{
    [Key]
    public Guid Id { get; set; }

    public string Name { get; set; }

    [InverseProperty("FamilyMembers")]
    public List<Person> FamilyMembers { get; set; }
}

В тот момент, когда я использую миграции (AddMigration) для настройки базы данных, я получаю следующее исключение:

Add-Migration: связь не может быть установлена ​​из собственности FamilyMembers для типа ConsoleApplication3.Person для свойства «FamilyMembers» для типа «ConsoleApplication3.Person». Проверьте значения в InversePropertyAttribute, чтобы обеспечить определения отношений уникальны и ссылаются из одного свойства навигации на его соответствующее свойство обратной навигации.

Также я получаю ту же ошибку при добавлении Person в dbset People при запуске тестового приложения.

        var p1 = new Person();
        p1.Id = Guid.NewGuid();
        p1.Name = "p1";

        var p2 = new Person();
        p2.Id = Guid.NewGuid();
        p2.Name = "p2";

        var c = new TestContext();
        c.People.Add(p1);

Есть ли другой атрибут, который не является уникальным и ссылается на то же свойство навигации?

1 Ответ

0 голосов
/ 15 ноября 2011

Простой ответ - нет.Каждый конец отношения должен иметь свое собственное свойство навигации.

...