1

私は、POCOオブジェクトの代わりとして私たちのビジネスで使用するためにSubSonic3.0を評価しています。私はSubSonicを初めて使用し、文字通り昨日インストールしました。3.0 LINQ T4テンプレートを使用して1つのデータベースに接続できるようになり、SubSonicを使用して1つのアプリケーションで複数のデータベースに接続できるという約束に夢中になりました。

私の問題は、複数のデータベースでT4テンプレートを使用する方法に関するドキュメントが見つからないことです(たとえば、別の接続文字列の追加、Settings.ttincludeの設定など)。

GoogleとStackoverflowで回答を検索して、これがどのように行われるか、または可能かどうかを確認しました。どんな助けでもいただければ幸いです。


したがって、web.configに別のconnectionStringを追加し、そのconnectionStringの2番目のテンプレートセットを追加することで機能させることができたようですが、機能しますが、「クリーン」ではないようです。自分。

また、複数の.dbmlファイルを追加することで、.NET組み込みLINQでもほぼ同じことができるようです。

誰かがこの時点で、SubSonicのようなサードパーティのORMで組み込みのLINQサポートを使用するべきではない理由を教えてもらえますか?

4

2 に答える 2

5

subsonic メーリング リストからの相互投稿:

そうそう、私はいつもこれを行っています。トリックは、テンプレートの 2 つのコピー (簡単) またはテンプレートを編集して 2 つのテーブルのセットを反復処理すること (難しい) です。2 番目の settings.tt で、接続文字列の名前を他のデータベースを反映するように変更します。テーブル名が同じ場合に競合が発生しないように、名前空間を変更することもできます。ハッキーに思えますが、各データベースのテンプレートを個別に変更できるため、そうではないと思います。

本当に 1 セットのテンプレートだけが必要な場合は、SQLServer.tt (または選択したデータベース) を編集し、単一の接続ではなく接続のリストを受け入れるように LoadTables の動作をオーバーライドするのが最も簡単な方法です。これは苦痛であり、ファイルのコピーを 2 つ持つよりもはるかに困難になると言わざるを得ません。

于 2010-02-24T18:11:16.337 に答える
1

(あなたの質問に対するあなたの答えに応じて)

この時点で、SubSonic のようなサードパーティの ORM で組み込みの LINQ を使用するべきではない理由を誰かに教えてもらえますか?

すぐに考えてみると、SubSonic は Microsoft Sql Server だけではありません。

于 2010-02-24T17:29:38.393 に答える