Имея следующую модель
public class Product {
public string Barcode { get; set; }
public double Price { get; set; }
public Category Category { get; set; }
}
public class Category {
public string Name { get; set; }
public string department { get; set; }
}
Теперь проблема в том, что я не могу использовать подзапрос в опции запроса $ expand. Здесь я привел простой пример, но на самом деле я должен выполнить какой-то сложный запрос как подзапрос.
В настоящее время я получаю это:
"value": [
{
"Price": 500,
"Category": {
"Name": "Cricket bat"
"Department": 235
}
}
]
Ожидаемый результат:
"value": [
{
"Price": 500,
"Category": {
"Name": "Cricket bat"
"Department": "Sport" //This result I want to get using subquery.
}
}
Табличная структура подзапроса-
Department Table
--------------------------------------------
DepCode |Id |Seq |ValueData
235 |1 |0 |1
235 |1 |1 |2
235 |2 |0 |Sport
235 |2 |1 |Food
--------------------------------------------
SubQuery:
select d2.ValueData
from department d1
left join department d2 on d2.id=2
and d1.DepCode = d2.DepCode
and d1.Seq = d2.Seq
where d1.DepCode=235
and d1.ValueId=1
and d1.ValueData=1
В БД я получаю значение 1 (d1.ValueData = 1) и, используя приведенный выше запрос, мне нужно получить "Sport" .
Запрос Odata: / odata / Product? $ Expand = Category & $ select = Цена
Как мне добиться этого с помощью odata?