ToList()肯定会阻止你.您应该对整个查询执行ToList().
我认为你可以做的另一件事就是使用"let".我认为在这种情况下,它可以创建延迟执行并包含在表达式树中,但是YMMV.
from p in db.Questions let Tags = (from t in p.QuestionTags select t.Tag.Name) select new Models.Question { Title = p.Title, TagList = Tags }