Bonjour,

Je dispose d'un service REST respectant le protocole ODATA v3. Mon modèle se compose de plusieurs entités dont une entité RealCostExpense dérivant d'une entité Expense.

L'entité Expense est reliée à une entité State.
L'entité RealCostExpense est reliée à une entité Category.

Lorsque je souhaite créer une RealCostExpense j'effectue la requête suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
# HEADER
POST /ExpenseReportsService/ExpenseReportsService.svc/Expenses/ExpenseReportsService.RealCostExpense
Host: localhost
Accept: application/json
Content-Type: application/json; charset=UTF-8
 
#BODY
{
    "date": "2013-04-08T09:09:20.399Z",
    "state": {
        "id": 1,
        "name": "Pending",
        "description": null
    },
    "category": {
        "odata.type": "ExpenseReportsService.RealCostExpenseCategory",
        "id": 15,
        "key": "KEY",
    },
    "amount": "200.50"
}
La création se passe bien mais au lieu de me créer un lien entre la nouvelle entité créée et l'entité State associée à celle-ci, le service me créé une nouvelle entité State.

Le problème ne se produit pas pour l'entité Category. Je suppose donc que c'est parceque la relation se situe au niveau du parent (Expense) que le problème se pose.

Je pense pouvoir régler le problème en passant au moment de la création seulement les clés étrangères, mais j'aimerais trouver une autre solution.

Quelqu'un aurait une idée ?

Merci.