Я не уверен, что на 100% понимаю ваш вопрос, но вы, похоже, просите иметь отфильтрованный набор Обезьян, основанный на первичном ключе для текущего объекта.
Во-первых, вам не нужноDbContext для этого, Discussion.Id я предполагаю, что это значение PK, а Monkey.discussion это значение FK.
В codefirst я бы ожидал, что вы сделаете это
public class Discussion {
public Discussion()
{
monkeys = new List<Monkey>();
}
...
[InverseProperty("discussion")]
public ICollection<Monkey> monkeys { get; set; }
...
}
public class Monkey
{
...
[InverseProperty("monkeys")]
public Discussion discussion { get; set; }
...
}
Это должнопозволяют ссылаться на отфильтрованный набор Monkey на основе значения в поле обсуждения в таблице Monkey.
Если вам все еще нужен доступ к значению столбца обсуждения, взгляните на следующий ответ: Влияние первого имени столбца внешнего ключа в коде EF (CTP5)