0

我有以下内容:

Question question = _questionsRepository.GetById(questionId);

我想做以下事情:

QuestionHeader questionDetail = _questionsRepository.GetById(questionId)
    .Select(m => new QuestionHeader { QuestionId = m.QuestionId })

但它给了我一个错误说:

Models.Core.Question'不包含'Select'的定义,并且找不到接受'Models.Core.Question'类型的第一个参数的扩展方法'Select'(您是否缺少 using 指令或程序集引用? )

如何填充 questionDetail ?

4

3 回答 3

1

您可能缺少System.Linq名称空间。

确保你有

using System.Linq;

在源文件的顶部。

于 2013-09-03T04:00:16.703 回答
1

如果你想调用Select,你必须传入一个IEnumerable<T>参数作为源。由于您没有IEnumerable<T>,因此您无法调用Select

于 2013-09-03T04:51:59.703 回答
1

你能不这样做吗(假设你真的想访问数据库)?

QuestionHeader questionDetail = new QuestionHeader()
{
    QuestionId = _questionsRepository.GetById(questionId).QuestionId
};

或者

QuestionHeader questionDetail = new QuestionHeader() { QuestionId = questionId };

...或者如果您也需要这个问题:

Question question = _questionsRepository.GetById(questionId);
QuestionHeader questionDetail = new QuestionHeader() { QuestionId = questionId };

如果您有单个对象而不是集合,则不需要 LINQ。

于 2013-09-03T04:17:11.580 回答