VB6 で書かれたコードを .Net 4.0 に変換する予定のクライアントがいます。彼らのデータベースは、大惨事としか言いようがありません。しかし、それを変更することはできません。そのため、この不安定なデータベースの上にアプリケーションを構築しています。
彼らが行ったことの 1 つは (待ってください)、ユーザーが選択した列をグリッドに表示することに基づいてビューを作成することでした。
たとえば、連絡先画面にはすべての連絡先が一覧表示されます。データベースを読み取り、ビューからフィールドを取得し、可能な列のリストをユーザーに提示する画面があります。次に、ユーザーはいくつか (姓、名、生年月日) を選択します。
次に、コードは新しいビューを作成します (または既存のビューを上書きします)。
'姓、名、生年月日を選択' from AnotherView WHERE ID=:ID'
(AnotherView は結合などを含む大きなビューです...)
その後、画面が表示されるたびにそのビューが使用されます。
というわけで、見方が変わります。
Entity Framework を使用しています。動的ビューを処理することは可能ですか? プレゼンテーションで Linq を使用して (わかっています、わかっています....)、データをマイニングします。では、Linq を使用してビューから * を選択し、グリッドを表示することはできますか? ただし、ビューが変化している場合は、EF モデルを再生成する必要がありますよね?