PetaPocoなどの軽量ORMは、同じプロジェクト内の複数のデータベースをサポートしていますか?同じプロジェクト内の複数のデータベースをサポートする小さなORM?
ORMが入力されていて、すべてのエンティティを生成することができれば素晴らしいと思います。
PetaPocoなどの軽量ORMは、同じプロジェクト内の複数のデータベースをサポートしていますか?同じプロジェクト内の複数のデータベースをサポートする小さなORM?
ORMが入力されていて、すべてのエンティティを生成することができれば素晴らしいと思います。
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には、UPDATE
、INSERT
などの簡単なヘルプが含まれています。
ここで注意するのは、エンティティが生成されないことだけです。これを行うには独自のコードが必要です。
は、基本的な例を与えるために:起源は接続がある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は、この
それは複数の異なるDBMSをサポートしていますをサポート想像? OracleとSQL Serverの両方を同時に接続したいと考えています。 –