テーブル、列、インデックス、外部キーを動的に定義するのが最善のようです。エンティティと属性を持つ「データベースのデータベース」スキーマを使用する場合、データベースに効果的にインデックスを付けることはできません。クエリは非常に遅くなり、厄介になります。
SQL Server管理オブジェクト(SMO)を使用して、データベーススキーマをクエリおよび変更できます。私はそれらを複数回使用しました。彼らは働き、一緒に働くのはとてもいいです。
私は、EntityFrameworkがここのテーブルに多くをもたらすとは確信していません。EFは、静的スキーマでクエリとDMLを表現するのに適しています。動的スキーマを使用する場合、ほとんどの利点が失われます。もちろん、エンティティキーの管理や、T-SQLの代わりにエンティティSQLを使用できるなど、いくつかの利点があります。欠点としては、実行時にすべてのEFメタデータを作成する必要があります(おそらくEDMXファイルまたは動的アセンブリを生成します)。
それだけの価値はないと思います。実行時にデータベーススキーマを構築し、動的に構築されたT-SQLを使用してそれに対してクエリを実行することを強く検討します。EFを使用してシステムに対して作業するよりも、これを行う方がはるかに簡単です。
その意味で、あなたは戻ってきてDataTables
、GridViews
5年前でも良いスタイルと考えられていました。おそらくそれほど悪くはないでしょう。