EF Include - Как загрузить не все записи ?
От: Nikolay_P_I  
Дата: 08.11.10 14:50
Оценка:
Есть 2 таблицы с соотношением многие-ко-многим.

Задача: загрузить предварительно таблицу А всю, а из Б только те записи, в которых поле Флаг = 1.

Простое .Include("Б") тащит все из Б не фильтруя. Во всяком случае — я не понял как к нему where применить.

Попытка сделать ObjectContext.A.ToList(), ObjectContext.Б.Where("...")ToList() в надежде на automatic relation fix-up — провалилась — с one-to-many оно работает, с many-to-many — нет.

Попытка следовать http://blogs.msdn.com/b/alexj/archive/2009/10/13/tip-37-how-to-do-a-conditional-include.aspx провалилась с чтением последнего поста и комментария в нем. Лучше уж всю Б получать, чем такие union, да и код больно шаманский.

Можно ли все же как сделать искомое ?

P.S. Подойдет даже "закат солнца вручную". Если из EF можно не только EntityKey вытащить, а и родные ключи баз — я сам таблицу А и фильтрованный результат по Б в бизнес-логике сошью.
ef include where many-to-many
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.