私は学習段階にあります。エンティティフレームワークを使用して、コードファーストコンベンションでASP.NET MVC-5フレームワークで作成された外部キーは、デフォルトでNULL可能であることを知りたいのですが、?私は外部キーの関係を作成しようとしましたが、外部キーの列はNULL可能であることが判明しました。私は、カラムを外部キーとしてマークすると、エンティティフレームワークによってNOT NULLABLEとしてマークされるべきであるという考えを持っていました。以下はASP.Net MVC 5アプリケーションでは、デフォルトで外部キーがNULL可能ですか?
例です。
一つ多くに:一つの「標準」は、多くの「子供」を持つことができます。ただ設定以上により
public class Children
{
public int Id { get; set; }
public string Name { get; set; }
public int StandardId { get; set; }
[ForeignKey("StandardId")]
public virtual Standard Standard { get; set; }
}
public class Standard
{
public Standard()
{
Children = new List<Children>();
}
public int Id { get; set; }
public string StandardName { get; set; }
public virtual ICollection<Children> Children { get; set; }
}
、外部キー「StandardIdは、」データベース内Nullable
ように出ています。私はちょうどこの期待された動作を知りたいですか?外部キーがDEFAULTによってNULL可能であると仮定されているか、または私は外部キープロパティを正しく接続していませんか?
オクラホマので、非NULL可能FKをacheiveする最良の方法は何です。 FKのプロパティに「必須」属性を装飾するか、あなたが答えた方法に従うべきです。正しいのはどちらですか?私はいつも従いますか? – Unbreakable
これは、流暢な設定や属性の設定にかかわらず、問題です。私は個人的に流暢な "方法"を好む – Piotr
これは私の疑いをクリアします。そんなにありがとう。 – Unbreakable