2012-05-04 2 views
0

Так у меня есть таблица людей, которые, как этоEf4: Определить несколько внешних ключей

Id Name 
1  John 
2  Mike 
3  Sophie 

И у меня есть таблица вызовов

Id IdReceptor IdRequired 
1  1    2 
2  1    1 
3  2    3 
4  3    1 

В основном человек отвечает на телефонный звонок, что человек рецептор, тот, который на телефонах требует поговорить с другим человеком, может быть тем же человеком, который ответил, или другим, так что у нас есть этот дизайн стола, IdReceptor и IdRequired оба являются иностранными ключами к люди

Как смоделировать это с использованием кода EF4?

ответ

1

Например вот так:

public class Person 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

public class Call 
{ 
    public int Id { get; set; } 

    [ForeignKey("Receptor")] 
    public int IdReceptor { get; set; } 
    [ForeignKey("Required")] 
    public int IdRequired { get; set; } 

    public Person Receptor { get; set; } 
    public Person Required { get; set; } 
} 

Вы можете ввести коллекции в Person, если вы хотите, и добавить дополнительные сопоставления с аннотациями или Fluent API или вы можете сделать Person свойства навигации virtual если вы хотите отложенной загрузки. Но приведенный выше код является простым решением. EF будет определять два отношения «один ко многим» по соглашению.

Смежные вопросы