MVC3 アプリケーションで Dapper と EF 4 の両方を組み合わせて使用したいと考えています。複数のプロファイル接続を持つこと、またはプロファイル接続を共有することは可能ですか?
1 に答える
1
はい、Dapper で EF プロファイル接続を使用できます。これが私が最終的に使用したものです。
private static DatabaseContext GetDatabaseContext()
{
using (MiniProfiler.Current.Step("Create Oracle EF Context"))
{
var pConn = ProfiledConnection;
return pConn.CreateObjectContext<DatabaseContext>();
}
}
private static EFProfiledDbConnection ProfiledConnection
{
get
{
using (MiniProfiler.Current.Step("Create Oracle Profiled Connection"))
{
var connectionString =
ConfigurationManager.ConnectionStrings["DatabaseContext"].ConnectionString;
var ecsb = new EntityConnectionStringBuilder(connectionString);
var oraConn = new OracleConnection(ecsb.ProviderConnectionString);
var pConn = new EFProfiledDbConnection(oraConn, MiniProfiler.Current);
return pConn;
}
}
}
それから私はこのようにそれらを使用しました
using (var ctx = GetDatabaseContext())
{
var result = ctx.SOME_EF_ENTITY.FirstOrDefault(c => c.LOGINNAME == username && c.PASSWORD == password);
return result;
}
と
const string sql = @"
SELECT ppro_status_code_id
FROM ppro_status_codes
WHERE table_name = 'CLIENT_FC_SHARED'
AND status_code = :status_code";
using (var cnn = ProfiledConnection)
{
cnn.Open();
var data = cnn.Query<dynamic>(sql, new { status_code = code });
var result = data.First();
var codeID = result.PPRO_STATUS_CODE_ID;
return codeID;
}
于 2011-11-16T23:55:40.993 に答える