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
)
Надеюсь это поможет!