Я работаю с Entity Framework ... У меня есть таблица базы данных для Пациент , которая имеет неисполненное отношение внешнего ключа к таблице Employee , поэтому я могу связать менеджерапациенту.
Я создал свою сущность в EF для Пациента , Сотрудника и связи между Пациентом и Сотрудником, которую я называю ManagerEmployee .
Я также создал еще один частичный класс для Patient , который позволит мне легко получить имя сотрудника из моего класса бизнес-объектов, также называемого Patient .
public string ManagerName
{
get { return this.ManagerEmployee == null ? string.Empty : this.ManagerEmployee.Name; }
}
Итак, у меня есть:
- Субъект пациента
- Частичный класс пациента (для получения некоторых данных)
- Пациент DTO(читает из организации пациента)
Проблема, с которой я столкнулся, заключается в том, что если ManagerId (в данном случае Guid) не связан с сотрудником или не установлен (Guid.Empty) ... несмотря на то, что мне не терпится загрузить, это все равно делает еще один удар по базе данных.
IQueryable<Data.Patient> query = ctx.ObjectContext.Patients.Include("ManagerEmployee");
Так что, если у меня есть 1000 записей, у которых установлено это значение, все хорошо, но еслизначение для ManagerId НЕ установлено ни для одной из этих записей, оно составляет 1 + 1000 обращений к базе данных.
Хотите знать, если у кого-то еще была эта проблема?Может быть некоторая большая проблема с построением моих EF-сущностей и / или ассоциаций, поэтому я открыт для других предложений.
Спасибо!