IDataErrorInfoインターフェイスを使用してエンティティを検証しています。検証ロジックが属性からメタデータを読み取っている限り、それはすべてのエンティティで同じであるため、クラスを作成しました
public class DataErrorInfo : IDataErrorInfo
そして、すべてのエンティティはそれから派生しています。つまり、検証を高速化するために派生クラスのリフレクション情報をキャッシュしたいので、すべてのエンティティタイプは、実行中のアプリケーションごとに1回このキャッシュを初期化する必要があります。
フィールドを使用することを考えてstatic readonly
いましたが、最初に使用されたエンティティタイプのリフレクション情報で初期化されることがわかりました。したがって、エンティティAとエンティティBがあり、エンティティAが最初にアクセスされると、エンティティBにはエンティティAリフレクションキャッシュがあります。