Я не уверен насчет Навигационных свойств в EF 4, поэтому я прошу вас объяснить.
Давайте представим себе следующие сценарии:
A)
У меня естьдве сущности A
и B
с отношением N к N (многие ко многим) и дерево Таблица в моей базе данных A
и B
и таблица ссылок AB
с двумя внешними ключами .
В этом сценарии EF создает навигационное свойство, которое можно назвать его X
, а также XReference
.
B)
Iиметь две сущности A
и B
с отношением 1 к N (один ко многим) и две таблицы в моей базе данных A
и B
с одним внешним ключом .
В этом сценарии EF создает Навигационное свойство, позволяющее назвать его Y
, но не YReference
.
Теперь давайте возьмем сценарий A и B и попробуемчтобы выяснить, есть ли какая-либо ссылка на A в B:
Мой код для сценария:
A):
bool isA = a.XReference.EntityKey != null;
Я не загружаю Bзаписи (правильно?)
B):
bool isA = a.B.Any(x => x.BId == AId);
Я загружаю записи B
Мои вопросы:
- Почему EF не создает YReference иЯ не могу использовать свойство
EntityKey
в сценарии B. - В моем сценарии кода B, действительно ли я не загружаю записи из B?
- Знаете ли вы лучший подход для выполнения этого запросабыстро?
Спасибо, ребята, за вашу помощь, надеюсь, я смог дать понять: -)