Вопрос

Я сначала работаю с кодом EF4.1 и пытаюсь создать несколько значений соотношений, где там должны быть связаны таблицы.Пожалуйста, смотрите небольшой фрагмент кода Beloow:

class Event
{
    int EventId { get; set; }
    ICollection<Contact> Contacts { get; set; }
}

class Contact
{
    int ContactId { get; set; }
    ICollection<Relation> Relations { get; set; }
}

class Relation
{
    int RelationId { get; set; }
    string Name { get; set; }
}   
.

Так что объект контактов может иметь много разных типов отношений, таких как «мать», «отец», «брат» и т. Д.

Мне нужно отслеживать какое-то событие, где присутствовал контакт, но я хочу знать, как он связан с человеком, принимающим мероприятие.Так, например, был ли он братом военнослужащего, отцом или мужем?На другом мероприятии тот же человек мог бы появиться, но будь зятющим величином.

Мероприятие

для контакта - это многозначное;Отношение к контакту однозначно.

в SQL, мы только что сделали таблицу ссылок и имели все три идентификатора свойств (EventiD, ContactID, RelationID);Однако в коде первым, Как бы вы представляли эту связь?

Это было полезно?

Решение

То же, что и база данных, которую вы должны создать объект отображения, как контактные элементы, такие как таблица сопоставления в базе данных.

class Event
{
  int EventId { get; set; }
  ICollection<ContactEvent> ContactEvents { get; set; }
}

class ContactEvent
{
  int EventId {get;set;}
  int ContactId {get;set;}
  public virtual Event Event {get; set;}
  public virtual Contact Contact {get;set;}
}

class Contact
{
   int ContactId { get; set; }
   ICollection<ContactEvent> ContactEvents { get; set; }
   ICollection<Relation> Relations { get; set; }
}

class Relation
{
  int RelationId { get; set; }
  string Name { get; set; }
  public virtual Contact Contact {get; set}
}   
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top