私の問題はこれです:
Inspections
InspectionItems
私のリレーショナル データベースでは、冗長なデータが配置されないように、削除を「カスケード」する必要があります。たとえば、インスペクションを削除する場合、関連するすべてのアイテムも削除する必要があります。
ドメイン サービス クラスにコードを記述しました。
public void IDInspectionDelete(string id)
{
var inspections = from a in ObjectContext.Inspections
where a.ID == new Guid(id)
select a;
foreach (Inspection inspection in inspections)
{
var items = from a in ObjectContext.InspectionItems
where a.InspectionID == inspection.ID
select a;
foreach (InspectionItem item in items)
{
DeleteInspectionItem(item);
}
DeleteInspection(inspection);
}
}
次に、ビューモデルで関数を呼び出します。
context.IDInspectionDelete(id_string);
...これは何もしません。まったく。のぞき見ではありません。コードはステップスルーされ、エラーなどはありませんが、削除はされません。ビューモデルに書き直して、
context.Remove(item)
これはうまくいくはずです。しかし、私は DomainService クラスでそれをしたいと思います。
もちろん、これが大したことではない場合を除きます。もしそうなら、その理由を説明してください。
ありがとうございました!