Как выбрать данные из таблицы A (целые строки) объединить с таблицей B, когда B содержит предложение Where?
Что мне нужно, так это код SQL:
select * from HISBaseInsurs i left join (select * from HISBaseCenterCodeSends h where h.ServiceGroupID = 4 and h.CenterCode = 2) s on i.ID = s.InsurID
Результат:
ID Name ID CenterCode ServiceGroupID InsurID CodeSend WebServiceAddress WebServicePassword WebServiceUserName
----------- -------------------------------------------------- ----------- ----------- -------------- ----------- --------------- ---------------------------------------------------------------------------------------------------- -------------------------------------------------- --------------------------------------------------
1 a 2 2 4 1 asd6541 www.x.com 23d asda
2 b NULL NULL NULL NULL NULL NULL NULL NULL
3 c NULL NULL NULL NULL NULL NULL NULL NULL
4 d NULL NULL NULL NULL NULL NULL NULL NULL
Теперь я хочу, чтобы они были похожи на список сущностей.Я сделал следующее:
list = HISBaseInsurs.Include(s => s.CenterCodeSends.Where(x => x.Center.CenterCode == 2 && x.ServiceGroup.ID == 4)).ToList();
Но у этого решения есть исключение.Сообщение об исключении:
Лямбда-выражение свойства Include 's => {из HISBaseCenterCodeSend x в s.CenterCodeSends где (([[x] .Center.CenterCode == 2) AndAlso ([x].ServiceGroup.ID == 4)) select [x]} 'недопустимо.Выражение должно представлять доступ к свойству: 't => t.MyProperty'.Чтобы нацелить навигацию, объявленную на производные типы, укажите лямбда-параметр с явно заданным типом целевого типа, например, «(Derived d) => d.MyProperty».Для получения дополнительной информации о включении связанных данных см. http://go.microsoft.com/fwlink/?LinkID=746393.
Как я могу это исправить?