2011-09-15 7 views

答えて

2

Dapperは、本製品をそのままサポートします。

public bool Equals(Identity other) 
{ 
    return 
     other != null && 
     gridIndex == other.gridIndex && 
     type == other.type && 
     sql == other.sql && 
     commandType == other.commandType && 
     connectionString == other.connectionString && 
     parametersType == other.parametersType; 
} 

アイデンティティキャッシュは、接続文字列をIDの一部として使用します。つまり、すべてのクエリに対して優れたパフォーマンスが得られ、マテリアライザーとパラメータ抽出ツールがキャッシュされるが、キャッシングはdbごとに行われるということです。また、キャッシュはdbスキーマの変更に対して回復力があります。

DapperはPOCOおよび/またはダイナミクスで動作するため、選択することができます。 Dapper.Contribには、UPDATEINSERTなどの簡単なヘルプが含まれています。

ここで注意するのは、エンティティが生成されないことだけです。これを行うには独自のコードが必要です。

は、基本的な例を与えるために:起源は接続がある

DbConnection db1 = ... 
DbConnection db2 = ... 

var dataFrom1 = db1.Query<Order>(sql, args); 
var dataFrom2 = db2.Query<Order>(sql, args); 

ので、これは自動的にデータベース中心(注意、それは別の列の順序などのデータベース間で正常に対処すること)です。

それとも別の言い方をする:StackExchangeたちはたくさん同じAppDomain内部データベースのに話を意味し、マルチテナントです。 StackExchangeはdapperを使用し、dapperはこのシナリオを処理するように完全に設計されています。


私はDapperのプロジェクトに貢献しています Disclamer、私はたくさんの他のマイクロのORMは、この

+0

それは複数の異なるDBMSをサポートしていますをサポート想像? OracleとSQL Serverの両方を同時に接続したいと考えています。 –

関連する問題