みなさん、こんにちは。読んでくれてありがとう。
私はNHibernateとPostgreSQLを使用していますが、基本的に2つのことを実行したいと考えています。
- データベース内のエンティティを永続化しながら、エラーにユーザーフレンドリーなメッセージを提供します
- UIを調整して、特定の部分のエラーを表示します(したがって、名前が一意である必要があり、ユーザーが既に存在するものを導入した場合は、名前テキストボックスのツールチップなどとしてエラーを表示したいと思います)。
そのため、制約チェックが失敗する列を見つけることが役立つと思い、これを行うためのクリーンな方法を見つけようとしています。たとえば、フィールドが「Not Null」制約に失敗すると、NHibernateはPropertyValueExceptionをスローし、この(例外)クラスには、制約に失敗したプロパティを通知する「PropertyName」というプロパティがあります。これは私が取得したいものですが、列の取得は簡単に聞こえ、列名から関連するプロパティを取得できると思います。
それで、NpgsqlExceptionから関連する列を抽出する(クリーンな)方法はありますか?または、NHibernateを使用するようなものですか?