Я работаю с Entity Framework коды первым, и у меня есть класс Course
, который имеет свойство навигации Students
:Entity Framework: Навигация Свойство Issue
public virtual Collection<Student> Students { get; set;}
Он работает нормально, но, как я это свойство навигации , все данные извлекаются из базы данных:
var allStudents = course.Students; // Here it retrieves the data
var activeStudents = allStudents.Where(n => n.Active); // Here it filter the data on memory
var listOfActiveStudents = activeStudents.ToList(); // It already has the data on memory.
Как вы можете себе представить, мне нужен запрос, который будет выполнен, когда я делаю .ToList()
, потому что я не хочу, чтобы привести все Students
из datab ase, только активные.
Знаете ли вы, что я делаю неправильно?
, каков тип 'user.Students', что он имеет метод' .Query() '? – Moho
«Активное» поле является примером. Я должен применять более сложные фильтры. Я попытался удалить «виртуальный», и он не запускает запрос ... но он ничего не приносит, когда выполняется «ToList()» (он не выполняет никаких запросов) –
@Moho ах. Мой плохой ;-(Я нахожусь на неправильном уровне здесь. Мне нужно 'DbCollectionEntry'. – Colin