私の例外処理はさまざまな形式に散在しています。詳細な例外処理が必要なため、コードは次のようにもう少し複雑です。
catch (Exception ex)
{
var conn = ((IObjectContextAdapter)this).ObjectContext.Connection as
EntityConnection;
if (conn.ConnectionString.IndexOf(Providers.SqlCe4) >= 0)
{
#region deal with exceptions
Exception e = ex;
SqlCeException sce = null;
while (e != null)
{
sce = e.InnerException as SqlCeException;
if (sce != null) break;
e = e.InnerException;
}
if (sce != null)
{
SqlCeError = sce;
switch (sce.NativeError)
{
case 25016:
SaveErrorMessage = Localization.Texts.SqlCeException25016;
break;
...
変更をクエリまたは保存するたびにコピーアンドペーストする代わりに、例外処理を1か所に集中させるにはどうすればよいですか?DbContext / ObjectContextの部分クラスを作成し、そこですべてのクエリを実行して変更を保存し、例外を処理するのは良いアプローチですか?