1

Entity Framework 5.0 と MS SQL Server 2012 を使用しています。いくつかのセル レベルの暗号化機能を実装しています。これには、データを正常に暗号化/復号化するための特定の一連のアクションが必要です。

  1. 暗号化キーを開く (例: OPEN SYMMETRIC KEY TSQL コマンドの実行)
  2. 次の SELECT DECRYPTBYKEY(key_guid, encryptedDate) AS Something FROM SomeTable を実行します。

問題は、Entity Framework 5.0 で、DB への新しい接続が確立された直後に OPEN KEY コマンドを実行するにはどうすればよいかということです。キーが開かれると、この DB セッションがアクティブになるまで開いたままになります。

ありがとうございました

4

1 に答える 1

0

StateChangeおそらく、接続のイベントにサブスクライブできます。

this.Database.Connection.StateChange += this.Connection_StateChange;
// "this" is the DbContext.

private void Connection_StateChange(object sender, StateChangeEventArgs e)
{
    if(e.CurrentState == ConnectionState.Open)
    {
        // your commands here using sender as SqlConnection.
    }
}
于 2013-04-19T23:59:32.340 に答える