グリッドビューをlinqにバインドしようとしていますが、これはストアドプロシージャを使用しているSQLクエリです。ページを実行すると、次のエラーが表示されます。LinqクエリをGridviewにバインドするときに 'データソースが無効な型です。'
データソースは無効です。 IListSource、IEnumerable、またはIDataSourceのいずれかである必要があります。
var db = new TableItemDataContext();
var q = db.sp_SearchForItems("1","2","3","4");
GridView1.DataSource = q;
GridView1.DataBind();
任意のアイデア?
クイック返信ありがとうございます!私はToList()を使用してIntellisenseを取得しませんでしたが(System.Linqを使用しています)、コンパイルされたときには、 '' int ''の定義は 'ToList'の定義を含まず、拡張メソッド 'ToList'タイプintのが見つかりました。アイデア? –
Linqはストアドプロシージャから返されたテーブルのスキーマを判断できず、intを返すと考えます。私は一時テーブルを含むストアドプロシージャにいくつかの問題があることを知っています。次のコメントの質問にリンクしてください... – tvanfosson
http://stackoverflow.com/questions/521736/stored-procedure-linq-dmbl-file-unable-to-interpret-the-result-set - 入手できればToList()を使わずに直接クエリを実行することができます。 – tvanfosson