多対1の関係で、子オブジェクトの1つを削除し、オーバーライドされたSaveChangesで監査証跡を保持しようとしています。SaveChangesをオーバーライドしてEFリレーションシップを削除するとnullが発生する
file.Entity.ProductがEntityState.ModifiedまたはEntityState.Addedを実行しているときに、.Deleted EFを実行しているときに、base.Savechanges()が呼び出される前でも積極的にエンティティからの関係を削除しているようです。
ファイル(子)に対して.Removeを呼び出した後に、このファイルがSaveChangesのオーバーライドに関連付けられたときに取得する方法はありますか?
class File {
...
private Product product;
private Product lastProduct;
public Product Product {
get { return product; }
set {
if (product == value) return;
lastProduct = Product;
product = value;
}
}
[NotMapped]
public Product LastProduct {
get { return lastProduct; }
}
...
}
'file'の値を割り当てる' files'に 'foreach'ループがあると思いますよね? – Shago
流体マッピング – user5135401