Ассоциация «один ко многим» [полиморфная] с Entity Framework - PullRequest
2 голосов
/ 07 декабря 2011

Вот некоторые объекты:

public class Zone : AbstractGuidKeyedEntity
{
    public virtual string Name { get; set; }
    public virtual string Description { get; set; }
}

public class ZoneGroup : AbstractGuidKeyedEntity
{
    public virtual string Name { get; set; }
    public virtual ICollection<Zone> Zones { get; set; }
}

public class Contract: AbstractGuidKeyedEntity
{
    public virtual string Name { get; set; }
    public virtual ICollection<Zone> Zones { get; set; }
}

Вот правила:

  1. A Zone может принадлежать ZoneGroup или Contract.

  2. A Zone не может принадлежать как ZoneGroup, так и Contract.

Вот что я хочу:

  1. Одна объединяющая таблица с уникальным идентификатором в зоне.

За что я соглашусь:

  1. Что-то, что работает.

Как мне легко сопоставить это с Entity Framework 4.1?

Спасибо за ваш ум.

- РЕДАКТИРОВАТЬ -

Вот таблицы, которые я хотел бы.

            Zone          
--------------------------
| ZoneId     | Name       |
==========================
| lkj-lakjd  | Front      |
| asd-jkllk  | Rear       |
--------------------------

         ZoneGroup          
--------------------------
| ZoneId     | Name       |
==========================
| uio-asdfd  | Z71 Boat   |
--------------------------

          Contract
--------------------------
| ZoneId     | Name       |
==========================
| zxc-qwert  | Hugo Taylor|
--------------------------

         ZoneGroupContractZone
--------------------------------------
| ZoneId     | ZonableId  |  Type     |
======================================
| lkj-lakjd  | uio-asdfd  | ZoneGroup |
| asd-jkllk  | zxc-qwert  | Contract  |
--------------------------------------
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...