0

次のような名前のテーブルがあります

JS Engineering Services$Web User Setup Headerおよび Sachin Sales & Service Pvt Ltd$Web User Setup Header

これらのテーブルを Ado.net エンティティ フレームワーク POCO コードの最初のアプローチでマップするにはどうすればよいですか? テーブル構造は同じです。私は単一のテーブル名とスキーマを使用して POCO を実行しました。 Dbo は次のようにテーブルを宣言するだけです

Web ユーザー設定。

また、それと一緒に、スペースを含む名前のようなテーブルを作成する方法についても尋ねたいと思います。私が述べたように、上記のようなもの。スペースを使用してテーブル名を作成する場合 動的にテーブル名を生成する方法

Sachin Sales & Service Pvt Ltd$Web ユーザー設定ヘッダー

Codefirst アプローチで Ado.net Entity フレームワークを使用していますか?

以前は Nhibernate を使用していたので、最近 Ado.net Entity Framework に移行しました。Ado.net Codefirst アプローチの Fluent 構成が気に入りました。誰かが上記のシナリオにどのようにアプローチするかを教えてもらえますか? ダミーのプロパティは大歓迎です。それは問題ではありません 。テーブル名を動的に生成したいのですが、両方のスキーマにまったく同じ列が含まれているという事実に基づいています

4

1 に答える 1

0

...これがあなたが探しているものかどうかはわかりませんが、ここで対処すべきことが 2 つあります。

テーブルの命名、次のことを試しましたか...
(: DbContext実装クラス、メソッドからprotected override void OnModelCreating(DbModelBuilder modelBuilder))

modelBuilder.Entity<JSEngineeringServicesWebUser>()
    .ToTable("JS Engineering Services$Web User");

(注:これを試す必要があるかもしれません。私はそのような名前で作業したことがなく、テストするのに便利ではありません。すぐに試してください)

別のオプションは[Table("JS Engineering Services$Web User")]、エンティティ クラスの属性として使用しています。(注: 私は個人的に流動的な方法を好みます。これにより、(他のもの、キー、関係について) より多くの制御が可能になり、2 つを「混合」するとうまく機能しないことがよくあります)

...または、この同様の質問を見てくださいCan I change the default schema name in entity framework 4.3 code-first?

そして2番目の問題は、テーブルが「一時テーブル」である可能性があるという事実です。それを達成するのは少し難しいです。しかし、データベースにそれらがある場合 (一時テーブルとして見て動作するだけ)、先に進んで他のエンティティと同じようにマッピングすることができます。

動的に作成および破棄する必要がある場合は、同様の内容でこの投稿を検討してください...

Entity Framework 4 を使用したキャッシュ テーブル

編集:以下のコメントから、更新する...

あなたが言うように「一時」テーブルが常に同じである場合-

次に、Entity Framework 4 を使用したキャッシュ テーブルの内容で問題ないはずです。テーブル モデルに一致するモデルを作成するか、そのようなテーブルを 1 つ作成する必要がある場合もあります (常にそこにあるためには、コードが最初かどうかわかりません)。開始時に一致するものがない場合、またはチェックなしで「既存のデータベースを使用」して実行する場合は文句を言うかもしれません)、「ストレート」SQLを使用してクエリを実行します(リンクで説明されているように、コンテキストクラスから)-そしてリストしますそのモデル クラスへの出力。そして、それはうまくいくかもしれません:)

于 2012-04-05T16:12:27.317 に答える