2011-01-19 7 views
2

実行時に新しいテーブルを作成するアプリケーションがありますが、常に同じテーブルスキーマを使用します。これらのテーブルの1つから次のテーブルに変わる唯一のものはテーブル名です。 Entity Frameworkを使用してこれらのテーブルにアクセスし、アクセスするテーブルを名前で指定できますか?Entity Frameworkでランタイム作成テーブルにアクセスする

答えて

2
  1. Entity FrameworkはDDL用に設計されたものではなく、データアクセス用のORMツールです。単純なADO.NETクエリを使用してテーブルを作成/削除したいとします。
  2. ユーザーセッションごとにテーブルを作成および削除すると、ログファイルが非常に高速に大きくなります。これが必要だと思う理由を慎重に検討します。データが一時的な場合は、セッションIDを各行に保存し、毎日テーブルを切り捨てるのはなぜですか?

UPDATE:

いや、そうでもありません。エンティティデータモデルは動的ではなく、静的なXMLドキュメントであり、データベースの構造を記述します。動的な名前のテーブルと対話したい場合は、 "古典的な" ADO.NETに固執する必要があります。

+0

1)これは私が聞くと予想されていたものです。 2)私はこれには魅力的な理由があると言われていますが、いずれにせよ、それは私のコントロール外です。また、私たちのアプリケーションは、ごく少数の同時ユーザーのために設計されています。 – Odrade

+0

私の質問は広すぎると思ったので、私はそれを書き直しました。あなたの答えを目標からちょっと離れさせて申し訳ありません。 – Odrade

1

Linq to SQLとは、テーブルNameをパラメータとして使用するストアドプロシージャでは可能でしょう。 L2SQLのSPに関する素晴らしい記事:http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx

この機能がEFに存在するかどうかわかりません。

+0

それは悪い考えではないし、EFでも間違いなく働くだろう。しかし、我々はデータベースの移植性のためにストアドプロシージャを避けようとしています。私たちの製品は顧客がホストするように設計されており、4種類のDBをサポートしています。ストアドプロシージャはこれをより困難にします。 – Odrade

関連する問題