0

私は次のクエリを持っています:

    tblVAL tblval = db.tblVALs.Where(p => p.PID == pid);

返品する必要のあるアイテムのリストを取得することを期待していることに注意してください。tblVALは、EntityFrameworkのテーブルです。返品されるアイテムは1つ以上ある可能性があるため、返品するアイテムのリストが必要であることに注意してください。そのため、First()などは使いたくありません。

次のメッセージが表示されます

タイプ'System.Linq.IQuerableをwa.Models.tblVAL'に暗黙的に変換することはできません。暗黙の変換が存在します(キャストがありませんか?)

4

2 に答える 2

1

クエリはコレクションを返しています。、、、を呼び出すかSingleOrDefault、単一のレコードを取得する必要があります。SingleFirstFirstOrDefault

tblVAL tblval = db.tblVALs.Where(p => p.PID == pid).SingleOrDefault();

コレクションが必要な場合は、変数タイプをコレクションに変更します。

IEnumerable<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid);

ToList呼び出してクエリを強制的に実行することもできます。

List<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid).ToList();
于 2012-06-13T16:35:31.217 に答える
0

多くの結果を取り戻すことができる場合は、ToListを呼び出すだけです。

の方法に精通すると、System.Linq.Enumerablelinqのエキスパートになります。

于 2012-06-13T18:03:57.047 に答える