Entity Framework EDMX Неправильная кратность?

Кажется, у меня возникают проблемы с множественностью баз данных в дизайне. Я использую EF v5.0

У меня есть две сущности БД со следующими (например, классы psuedo):

entity {
    long Id; //PK
    bool myProp;
}

entity_detail {
    long entityID; //FK to entity.Id
    string name;
    datetime entered;
}

Когда я обновляю модель из базы данных, она правильно генерирует эти классы в.tt, однако она помещает entity_detail в ICollection<entity_detail> в entity учебный класс.

Это связано с кратностью, когда я меняю кратность с Many (*) в Zero or One (0..1) в EDMX это выдает ошибку и заставит меня использовать Many (*)

Проблема с этим сценарием заключается в том, что entity_detail должен генерироваться ТОЛЬКО если myProp установлено в false (чтобы избежать избыточных данных в дБ)

Таким образом, будучи 0..1, есть идеи о том, как настроить это с точки зрения базы данных, чтобы EDMX обновил его до 0..1 на стороне объекта и 1 на конце entity_detail?

Заранее спасибо!

1 ответ

Для тех, кто ищет ответ, правильной настройкой было сделать внешний ключ (entityID) столбец на entity_detail Объект также первичный ключ.

Таким образом, он будет уникальным, но потребуется, только если он существует (0..1)

Надеюсь это поможет!

Другие вопросы по тегам