質問

たぶんこれはただの馬鹿げたアイデアだ、だからここに投げる:

基本データと現在のデータ(顧客、記事、在庫、未払い請求書など)に1つのデータベースを使用し、アーカイブデータ(旧請求書、在庫移動など)に1つのデータベースを使用して、アプリケーションを作成しています。

厄介な小さな問題は、MSDTCだけです。ほとんどのトランザクションは1つのデータベースにしか関係しませんが、いくつかのトランザクションは現在のデータベースと1つのアーカイブ年に関係しています。すべてのデータベースが同じサーバー上で再署名するため、これは2つのデータベース間の単純なトランザクションになる可能性があります。

ただし、Linq to entitiesでは、データベースごとに個別の接続を作成する必要があり、ここでMSDTCが起動し、a)インストールする必要があり、b)全体が遅くなります。

迷惑です!

2つのADO.Netエンティティフレームワークモデルが同じ接続を使用し、両方が独自の現在のデータベースを持っているようにする方法はありませんか?

すでにを試みましたが、EFスキーマでデータベースを指定しましたが、EFはこれは好きではなく、ブロックします。

非常に迷惑です。すべてのテーブルを1つのデータベースに移動するだけでいいのかもしれませんが、バックアップと高速化のためにデータを分離しようとすると、これは後の痛みです。

役に立ちましたか?

解決

接続でChangeDatabaseを呼び出してみてください。複数の接続を使用する場合、MSDTCは常に関与します。 1つのデータベースでも。したがって、常に1つの接続を維持し、この方法でデータベースを変更することをお勧めします。

これがお役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top