【发布时间】:2013-08-18 08:12:16
【问题描述】:
我正在尝试在 lambda 中执行此操作:
Select Hint from [tablename] where Answer = 'answer';
这是我迄今为止尝试过的:
public ModelSQL.puzzlecontent GetAcrossClue(string answer)
{
return context.puzzlecontents.Where(c => c.Answer.Equals(answer)).Select( g => new {g.Hint});
}
错误说:
不能隐式转换类型 'System.Linq.IQueryable' 到 'iStellar.ModelSQL.puzzlecontent'。存在显式转换(是 你错过了一个演员?)
【问题讨论】:
-
什么是
ModelSQL.puzzlecontent?这种类型应该明确。 -
ModelSQL 是我所有 CRUD 类文件所在的文件夹名称,puzzlecontent 是我正在使用的 CRUD 类文件的名称
-
哦,我忽略了
puzzlecontents。 -
通过使用新的
new {g.Hint},您将返回匿名类型的 IEnumerable(g.Hint 是什么类型),这与方法的返回类型的签名不匹配(@ 987654325@)。您必须选择 ModelSQL.puzzlecontent 类型的内容并在结果上使用 First/Single(OrDefault) 以匹配方法的签名。
标签: c# asp.net sql linq lambda