次にマップファイルで定義した場合(ユニットとマシン間の1対多の関係):
this.HasRequired(t => t.Unit)
.WithMany(t => t.Machines)
.HasForeignKey(d => d.UnitId);
新しいエンティティMachine.UnitOfMeasurement=nullを追加すると、GetValidationErrorsを呼び出したときにDbContextが検証の問題を返さないのはなぜですか。また、それらを検出するために何ができますか。EFに更新を許可すると、外部キー参照エラーなどの意味のないメッセージがユーザーに返されますが、DbEntityValidationResult(検証エラーを発行したプロパティ名など)からユーザーに意味のある情報を抽出できます。
属性ではなく、検証ルールにIDataErrorInfoを使用しています。