データベースを更新する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 では作成できないと思います。