Ссылки на идентификаторы содержимого в пакетных запросах ASP.NET OData
У меня есть служба OData ASP.NET WebApi, и я пытаюсь использовать ее из JavaScript с помощью JayData. Моя модель выглядит следующим образом:
class Parent {
ICollection<Child> Children;
}
class Child {
ICollection<Parent> Parents;
}
Я пытаюсь добавить новый родительский объект с новым дочерним объектом, используя контекст JayData, что-то вроде:
var child = new db.Children.Child({Parents: []});
var parent = new db.Parents.Parent({Children: [child]});
db.Parents.add(parent);
db.saveChanges();
В результате JayData отправляет пакетный запрос в службу OData, содержащую 2 почтовых запроса: один для дочернего и другой для родительского, где дочернему элементу присваивается Content-ID = 1, а родительский объект сериализуется в JSON как:
{'Children': [{'__metadata': {'uri': '$1'}}]}
На стороне сервера выполняется метод CreateEntity как Parent, так и Child EntitySetControllers, но аргумент Parent имеет пустую коллекцию Children, то есть он игнорирует ссылку Content-ID на новую сущность Child из запроса.
Есть ли удобный способ заставить его работать в ASP.NET OData, или мне нужно проанализировать JSON родительского элемента из запроса и проверить, существуют ли такие ссылки вручную?