現在、移行を有効にして EF Code First 4.3 を使用していますが、自動移行は無効になっています。
私の質問は簡単です。モデル構成 .WillCascadeOnDelete(false) に相当するデータ注釈はありますか?
外部キーの関係がカスケード削除をトリガーしないように、クラスを装飾したいと思います。
コードサンプル:
public class Container
{
public int ContainerID { get; set; }
public string Name { get; set; }
public virtual ICollection<Output> Outputs { get; set; }
}
public class Output
{
public int ContainerID { get; set; }
public virtual Container Container { get; set; }
public int OutputTypeID { get; set; }
public virtual OutputType OutputType { get; set; }
public int Quantity { get; set; }
}
public class OutputType
{
public int OutputTypeID { get; set; }
public string Name { get; set; }
}
私はこのようなことをしたいと思います:
public class Output
{
[CascadeOnDelete(false)]
public int ContainerID { get; set; }
public virtual Container Container { get; set; }
[CascadeOnDelete(false)]
public int OutputTypeID { get; set; }
public virtual OutputType OutputType { get; set; }
public int Quantity { get; set; }
}
このようにして、移行を正しく足場にすることができます。これは、現時点でカスケード削除される外部キー関係を足場にします。
モデル構成を使用する以外のアイデアはありますか?