Я работаю над проектом EF6, в котором мне нужно определить, есть ли у сущности зависимости при извлечении сущности. Мне нужно, чтобы это произошло быстро при возврате списка из более чем 10000 объектов.
Например:
class A
{
string Name;
int AId;
}
class B
{
int BId;
int AId;
public virtual A A { get; set; }
}
class C
{
int CId;
int AId;
public virtual A A { get; set; }
}
Примечание: все три класса находятся в разных проектах и контекстах БД, и из-за этого я не могу создать обратную ссылку.
Приложениесоздает список из тысяч объектов A, и мне нужно знать в этом списке, был ли на элемент ссылается B или C. Фактически мне нужно иметь возможность определить, можно ли удалить этот элемент. Я не могу сделать, как предлагали другие темы, и пытаюсь удалить элемент, просто чтобы проверить, можно ли его удалить. Это займет слишком много времени. Есть ли другой способ сделать это быстро в EF6? Я мог бы также присоединиться к B и C, однако могут быть миллионы Bs или C, в дополнение к 10000+ As, этот запрос также займет слишком много времени.
Выполнение этого быстрее, чем приведенные выше методы, может невозможно, так как я не знаю, как SQL Server обрабатывает внешние ключи, но любая помощь приветствуется.