3
從文檔中給出以下OrmLite配置,爲每個命名連接配置ConnectionFilter的最佳方法是什麼?爲命名連接配置ConnectionFilter
var dbFactory = new OrmLiteConnectionFactory(
"Data Source=host;Initial Catalog=RobotsMaster;Integrated Security=SSPI", //Connection String
SqlServerDialect.Provider);
dbFactory.Run(db => db.CreateTable<MasterRecord>(overwrite:false));
NoOfShards.Times(i => {
var namedShard = "robots-shard" + i;
dbFactory.RegisterConnection(namedShard,
"~/App_Data/{0}.sqlite".Fmt(shardId).MapAbsolutePath(), //Connection String
SqliteDialect.Provider);
dbFactory.OpenDbConnection(namedShard).Run(db => db.CreateTable<Robot>(overwrite:false));
});
目前,我正在使用這個而不是RegisterConnection。
OrmLiteConnectionFactory.NamedConnections[namedShard] = new OrmLiteConnectionFactory("~/App_Data/{0}.sqlite".Fmt(shardId).MapAbsolutePath(), true, SqliteDialect.Provider, true) {
ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current)
};
我們能否改變RegisterConnection爲類似
public void RegisterConnection(string connectionKey, string connectionString, IOrmLiteDialectProvider dialectProvider, bool autoDisposeConnection = true)
{
RegisterConnection(connectionKey, new OrmLiteConnectionFactory(connectionString, autoDisposeConnection, dialectProvider, autoDisposeConnection));
}
public void RegisterConnection(string connectionKey, OrmLiteConnectionFactory ormLiteConnectionFactory)
{
NamedConnections[connectionKey] = ormLiteConnectionFactory;
}
和t'很受歡迎:) – mythz 2013-03-28 21:22:51
@mythz有時我很難決定是否應該在這裏或在github問題上發帖:) – jeffgabhart 2013-03-28 21:30:23
如果你不確定是否真的問題最好在這裏發佈,否則如果您在GitHub問題上驗證了這是一個真正的問題,並且可重複的失敗測試。 – mythz 2013-03-28 21:58:58