私のモデルが次のようになっているとしましょう (簡単にするために省略しています):
public class Deal
{
[Key]
public int DealId { get; set; }
//one Deal may have many pictures
public virtual List<Picture> Pictures { get; set; }
public Deal()
{
Pictures = new List<Picture>();
}
}
写真リストから特定の写真を削除したいときはいつでも、次のようにします。
Deal deal = dealRepository.GetAll().Where(d => d.DealId == id).FirstOrDefault();
deal.Pictures.RemoveAll(p => p.Criterion.Equals(SomeCriterion));
unitOfWork.Commit();
すべてが正常に機能しているように見えますが、dbms を見ると、削除されるはずのレコードがまだ存在していることがわかりますが、外部キーが null に設定されています。
実際にレコードを削除する方法はありますか?