0

私はEF4データベースの最初のアプローチ(データアクセス用の.edmxファイルを持つ)を使用するWinformsアプリケーションを持っています.今、データベーステーブルに列を表示、変更、削除、追加できる双方向のdataviewgridが必要です。ウィザードのみを使用して実行できますが、データベースにデータを書き戻すのは複雑な部分です。この問題に関する多くのスレッドを見つけましたが、データにアクセスするために EF4 コンポーネントを巻き込んでいるスレッドはありませんでした (可能な場合)。ほとんどの例では、datase / datasource / bindingnavigator /bindingcontext と、より紛らわしいものを使用しています。

問題は、これらすべてのコンポーネントが本当に必要かということです。または、オブジェクト モデルを使用してこれを行うことはできますか?

これらすべてのオブジェクトがどのように連携するかについて誰かが明確にすることができれば素晴らしいと思います.良いリンクや小さなコード部分も歓迎します.

前もって感謝します

4

2 に答える 2

0

DataGridView は、データからの単なるビューです。テーブルの各列がプロパティで表されるクラスを作成する必要があります。次に、テーブルからすべてのデータをオブジェクトリスト (リスト) にロードします。クラスに UpdateMethod を追加します。これで、GridView でデータを読み取り/変更できるようになり、オブジェクト プロパティが自動的に変更されます。保存ボタンまたは何かをクリックした後、リスト内のすべてのオブジェクトに対して Update メソッドを呼び出します。したがって、GridView でデータを編集して、DataBase に保存できます。

于 2012-06-20T09:15:39.570 に答える
0

@RobertHarveyによってリンクされた回答は次のとおりです。

行の問題:

select new { c.UserName, c.Password, c.Description }

匿名型を作成しており、匿名型は不変であり、読み取り専用です。これが、変更が新しい型にも元の EF オブジェクトにも反映されない理由です。

ここで、バインド先のオブジェクトのすべての列を表示しない方法について、以下に 3 つのオプションを示します。

于 2013-03-01T08:37:18.617 に答える