次のように、ナビゲーション プロパティと関連する外部キー プロパティを持つモデルがあります。
public class Teacher {
public int Id { get; set; }
}
public class Course {
public int Id { get; set; }
public int? TeacherId { get; set; } // foreign key property
public Teacher Teacher { get; set; } // navigation property
}
クライアント側のコードでは、設定course.Teacher(null)
によりcourse.TeacherId
ゼロに設定されます。保存時に、Entity Framework で外部キー エラーが発生します。
course.TeacherId
Entity Framework が正しく保存されるようにするには、ゼロではなく null に設定する必要があります。
Breeze コードを見ると、ナビゲーション プロパティが null に設定されている場合、外部キー プロパティはターゲット オブジェクトの key プロパティのデフォルト値に設定されます。これは、上記の例ではTeacher.Id
(ゼロ) のデフォルト値です。代わりに、外部キー プロパティを独自のデフォルト値に設定する必要があると思います。これについてプルリクエストを送信しました。