0

データベースを更新するLINQクエリにバインドしたいDataGridViewがあります。

最初に私はこのようなものを持っていました

        //Select the values I want which include using a Navigation Property
        var query = from c in _data.OrdersTables
                    where c.FamilyID == _familyID
                    select new { c.ItemInfo.ItemName, c.Requested, c.Paid };

        var results = query.ToList();
        dataGridViewOrderInfo.DataSource = results;

これはデータの表示には問題なく機能しますが、select new を使用するとデータベースへの接続が切断され、new ステートメントを使用して特定の列を選択する必要があります。今、私はこれを持っています

        var query = from c in _data.OrdersTables
                    where c.FamilyID == _familyID
                    select c;

        var results = query.ToList();
        dataGridViewOrderInfo.DataSource = results;

行全体を取り出して、不要な列を非表示にすると、値の表示と編集には機能しますが、OrdersTables にあるものだけです。ナビゲーション プロパティを使用して別のテーブルに結合し、そこからデータを表示することはできません。

行ヘッダーを編集しようとしましたが、できません。また、新しい列を追加しようとしましたが、できません。グリッドがすでにバインドされているためだと思います。指定されたデータベースがSQL CEである追加情報。したがって、複数のテーブルからプルする可能性のあるカスタム select ステートメントにデータグリッドをバインドする方法が必要なだけです。.edmx ファイルである種のビューを作成できるのではないかと考えましたが、それを行う方法がわかりませんでした。また、データベース ビューを作成できると思っていましたが、SQL CE では作成できないと思います。

4

1 に答える 1