我正在lambda中尝试这样做:
从[表名]中选择提示,其中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'。存在显式转换(
你想念演员吗?)
最佳答案
您的问题是Select
返回一个集合,而您的方法返回一个实例。
假设g.Hint
是ModelSQL.puzzlecontent
实例,则应在末尾添加FirstOrDefault
以检索单个项目。
我错过的一件事是您试图返回一个通过new { g.Hint }
的匿名类型,这是无效的。您需要返回一个具体类型。
同样,假设g.Hint
是ModelSQL.puzzlecontent
实例,您应该具有
return context.puzzlecontents
.Where(c => c.Answer.Equals(answer))
.Select(g => g.Hint)
.FirstOrDefault();
关于c# - 来自SQL的Lambda表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18264535/