Visual Studioのエディター(xaml / design)がargumentnullexception、 "value can be null"をスローした場合、どのように処理しますか?
エンティティフレームワークを使用してデータベースからいくつかの値を読み取り、それらを監視可能なコレクションに格納して、xamlからそれらにバインドできるようにしています。コレクションに値がない可能性があると想定するのは論理的ですので、例外は正しいですよね?データベースに値がある場合でも、エディター(デザインモードで表示している場合)が値を取得するためのアプリケーションを実行していないため、例外がスローされます。これは通常のことです。
アプリケーションを実行すると、すべてが正常に機能しますが、例外は非常に煩わしいものです。
また、データベースから読み取るときにtry catchを使用すると、アプリケーションの実行時ではなくエディター(xaml)でのみエラーが発生します。「指定された名前付き接続が構成に見つからないか、で使用するためのものではありません。 EntityClientプロバイダー、または無効です。スタックトレースにより、エンティティデータモデル自体に移動します。バックエンドとしてmysqlを使用しています。xamlに何か(文字)を入力するたびに、エラーのあるこのメッセージボックスがスローされます。
私のユニットテストと統合テストはすべて正常に機能します。
ところで、これは正常ですか?
編集:ビューモデルの初期化をアプリリソース(app.xaml.csではあるがapp.xamlではない)に追加すると、機能するようです。xamlでコードを記述したとき、またはデザインに切り替えて外観を確認したときに、エラーが表示されません。