0

(mysql)データベースから派生したVisualStudio2010エンティティデータモデルを生成しました。

Users
- UserID
- Username
- UserGroupID

Groups
- GroupID
- GroupName

edmxダイアグラムは、2つのテーブル間の関係(1対多)を適切に示しています。ユーザーのデータソースをフォームにドラッグアンドドロップすると、datagridviewが表示され、アプリケーションを実行すると、ユーザー名などが正しく入力されます。ただし、GroupNameではなく(正しい)UserGroupIDの列が表示されます。これらの手順に従ってGroupNameを表示しようとしましたが、次のようなエラーが表示されます。

エラー3024:###行から始まるフラグメントのマッピングに問題があります:すべてのキープロパティにマッピングを指定する必要があります...

これは1対1の関係では機能するようですが、1対多では機能しないようです。

モデルファーストのエンティティデータモデルを使用する場合、クラスを手動で追加せずに、データグリッドビューにグループ名のユーザーテーブルを表示することはできませんか?それが実際に不可能な場合、datagridviewでこれを表示(および編集)する最も簡単な方法は何ですか(つまり、エンティティデータモデルを使用しない可能性がありますか?)これはかなり一般的なシナリオであると考えました。これを行うための視覚的なツールベースのアプローチであること。

許容できるアプローチとして、私は自分の好きなものを表示するビューを作成しようとしました。そのビューをモデルに追加し、エンティティをデータソースとして追加することができました。ただし、そのデータソースをフォームにドラッグすると、datagridviewには何も表示されませんでした。プロットが厚くなります。

4

1 に答える 1

0

Pff!私はエンティティモデルをあきらめ、古き良きMySqlAdapter、BindingSource、DataTableを使用することになりました。

于 2012-06-30T13:50:25.917 に答える