私は2つのエンティティ、InvoiceとInvoiceDetailを持っています。エンティティフレームワーク:更新関連エンティティ
請求書にはInvoiceDetailsメンバーがあります。
オブジェクトを作成すると、期待どおりに動作します。
フレームワークは、InvoiceおよびInvoiceDetail行をデータベースに挿入します。
$.ajax({
url: "/Invoices/Index",
data: JSON.stringify({
InvoiceDetails: [{
Description: "1"
}, {
Description: "2"
}]
}),
contentType: "application/json",
type: "POST"
});
[ActionName("Index")]
[HttpPost]
public JsonResult Post(Invoice invoice)
{
db.Invoices.AddObject(invoice);
db.SaveChanges();
...
また、請求書と関連する請求書詳細を更新したいと思います。
$.ajax({
url: "/Invoices/Index/1",
data: JSON.stringify({
Id: 1,
InvoiceDetails: [{
Id: 1,
Description: "1*"
}, {
Id: 2,
Description: "2*"
}]
}),
contentType: "application/json",
type: "PUT"
});
[ActionName("Index")]
[HttpPut]
public JsonResult Put(Invoice invoice)
{
db.Invoices.Attach(invoice);
db.ObjectStateManager.ChangeObjectState(invoice, EntityState.Modified);
db.SaveChanges();
...
ただし、フレームワークは請求書のみを更新します。
関連エンティティもどのように更新できますか?
私のモデルは、この
EDIT次のようになります。解決策 http://michele.berto.li/update-of-an-object-and-related-records-with-backbonejs-and-net-mvc
私は通常、非常にアタッチで働いていませんでした更新されたリンク http://michele.berto.li/update-of-an-object-and-related-records-with-backbone-js-and-net-mvc/
私はコントローラの 'HttpPost'アクションを持っています。これはエンティティとそのナビゲーションプロパティからなる複雑なフォームの送信を処理します。削除のためにいくつかのアイテムが欠落しているコレクション、新しいアイテム、変更されたアイテム単一のオブジェクトのナビゲーションでも同じです。 (FKプロパティはヌル可能です)、新しいエンティティに変更されたり、既存のまたは他の多くのオプションを変更したりすることができます。関連するエンティティをEFで管理する方法に関する統一された方法はありますか?そのような操作を実行するための明確で統一された方法の欠如に伴い、すべてが厄介になり始めています。 – Shimmy
この件に関する2015年のニュースはありますか?関連するエンティティの削除を含むグラフ全体を簡単に更新する方法はありますか? – Shimmy