Я получаю следующее сообщение об ошибке при попытке обновить дерево объектов с помощью asp.net WebAPI OData:метод UpdateRelatedObject работает только тогда, когда не исходный ресурс коллекция
"UpdateRelatedObject method only works when the sourceProperty is not collection."
Моего код приведен ниже. Я получил эту ошибку, когда вызывается mehod «UpdateRelatedObject». Можете ли вы сообщить, что не так с моим кодом и как обновить дерево объектов (что означает, что объект содержит коллекцию дочерних объектов), используя asp.net webapi odata v4.
var container = new Container(new Uri("http://JohnAlbert.com/MyOdataTest/odata"));
Product product = container.Products.Expand(p=> p.ProductItems).Expand(p=>p.ProductInvoices).Where(p => p.PId == Guid.Parse("28C508B8-F2DC-45C2-B401-7F94E79AB347")).FirstOrDefault();
if (product != null)
{
product.Name = product.Name + "_Modified";
var pitem1 = product.ProductItems[0];
product.ProductItems.Remove(pitem1);
container.UpdateRelatedObject(product, "ProductItems", pitem1);
var pitem2 = product.ProductItems[0];
pitem2.Price = 999;
container.UpdateRelatedObject(product, "ProductItems", pitem1);
var pInv1 = product.ProductInvoices[0];
product.ProductInvoices.Remove(pInv1);
container.UpdateRelatedObject(product, "ProductInvoices", pInv1);
}
container.UpdateObject(product);
container.SaveChanges(SaveChangesOptions.BatchWithSingleChangeset);