このコードは機能します:
var c = cboCustomer.SelectedItem as Customer;
var t = cboTrailer.SelectedItem as Trailer;
using (var db = new CAPSContainer())
{
db.Attach(c);
db.Attach(t);
c.Trailers.Remove(t);
db.DeleteObject(t);
db.SaveChanges();
}
しかし、なぜ私ができないのか理解できません:
db.Attach(t);
db.DeleteObject(t);
db.SaveChanges();
私がそれを試してみると、次のようになります:
「CAPSContainer.Trailers」のエンティティは、「CustomerTrailer」関係に参加します。関連する '顧客' が 0 件見つかりました。1 'Customer' が必要です。
私は最初にEF 5.0モデルを使用しています。これがedmxダイアグラムの一部です:
理解に苦しむので、どなたか教えてください。
更新 1 (Boomer の提案による):
using (var db = new CAPSContainer())
{
db.Attach(c);
//db.Attach(t);
//c.Trailers.Remove(t);
db.DeleteObject(t);
db.SaveChanges();
}
戻り値 :
ObjectStateManager で見つからなかったため、オブジェクトを削除できません。