2012-04-06 3 views
0

Я пытался сделать это со ссылкой на MSDN article.Применение фильтров при явной загрузке связанных объектов

Я попытался это:

dbContext.Entry(entry) _ 
    .Collection(Function(c) c.relObjects) _ 
    .Query() _ 
    .Where(Function(c) c.MyCondition) _ 
    .Load() 

Но это не обобщать, говоря, что Load() не является членом IQueryable

Я видел, что он нацелен на EF5. Есть ли способ заставить его работать в EF4?

+0

C# или VB.NET? Вы отметили вопрос 'C#' с помощью синтаксиса 'vb.net'. – abatishchev

ответ

0

Условие Where возвращает объект IQueryable. Вы должны использовать нагрузки после сбора Сопутствующие объекты:

dbContext.Entry(entry).Collection(Function(c) c.relObjects).Load() 

From msdn: Даже с отложенной загрузки отключены все еще можно лениво загрузить связанные объекты с помощью явного вызова метода нагрузки на связанной с субъектом. Например:

// Load the department related to a given course using a string  
context.Entry(course).Reference("Department").Load();  
// Load the courses related to a given department 
context.Entry(department).Collection(Function(c) c.Courses).Load(); 
1

Я знаю, что это старый пост, но убедитесь, что вы импортировать System.Data.Entity имен:

Imports System.Data.Entity 

Метод .Load фактически метод расширения в этом пространстве имен.

+0

Ты звёзды, вот что мне не хватало! – Alxwest

Смежные вопросы