1

私はラムダでこれをやろうとしています:

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' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

4

2 に答える 2

4

あなたの問題は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();
于 2013-08-16T01:44:58.530 に答える
0
public var GetAcrossClue(string answer)
{

    return context.puzzlecontents.Where(c => c.Answer.Equals(answer)).Select( g => new {g.Hint});
}

この部分は無視してください。クラウディオに感謝します。遅くなったけど何言ってんの?

また

public ModelSQL.puzzlecontent GetAcrossClue(string answer)
{

    return context.puzzlecontents.Where(c => c.Answer.Equals(answer)).Select( g => new puzzlecontent{property1 = value,property2 = etc});
} 

この部分はうまくいきます^

于 2013-08-16T01:47:09.793 に答える