最近の仕事で (個人的にやや敬遠がちだった)EFを使ってAzureのSQL Databeseに接続するのに 「接続のリトライは実装してね」とお願いしてたら、大掛かりな実装をされた事件があり「おいおーい」と感じたので、メモっておきます。 前提として、現在の開発は Visual Studio 2013 update4 .Net Framework4.5 Entity Framework6.1.2 そしてC#って感じでやってます。 Overview MSDNとかみてると、MS用語的には、Connection の Resiliency とか RetryのLogicと言うようですね。 実装方法は、以下です。非常にシンプル。 DbConfigurationクラスの派生クラスを作って、リトライの設定を持たせる(≒属性を作成する)。 対象のDbContextの派生クラスに、属性をつける。 Implimen