1

SQL Server に対するデータ アクセス用に Entity Framework 5 を使用して Windows サービス (c#) を作成しました。ときどき発生するデータベースの使用不可に対処するサービスが必要なので、この例外を明示的に処理したいと考えています。

問題は、この例外をキャプチャする場所と、それを特定する方法がわかりません。PK 違反など、キャプチャする必要がある他の DB エラーが発生するため、SaveChanges() で一般的な SQLException チェックを実行できません。一方、すべてをEntity Frameworkに任せているため、try catchで接続を開いてラップすることはできません(EF以前の場合と同様)。

何か案は?

前もって感謝します-アンディ

4

1 に答える 1

0

私見では、接続が成功した後でも、コミット前または読み取り中に、いつでも使用不可になる可能性があります。

したがって、最高レベルで例外をキャッチし、catch ブロックで接続を試行する必要があります (接続タイムアウトが重要な場合があるため、非同期である可能性があります)。エンティティフレームワークが何かに接続されているかどうかを確認するには、コメントで引用された投稿で開示されているように、テストを行うことができます

于 2013-05-31T13:15:01.560 に答える