Цель: расширить объект и спроецировать вложенное свойство на корневой выбор вместе с другими реквизитами.
Имея следующие отношения:
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; }
}
Я хотел бы сделать прогноз, который приведет к следующему:
{
"@odata.context": "http://localhost/odata/$metadata#Product",
"value": [
{
"Price": 500,
"Name": "Meat Products" // this is category name, ideally would be to rename it to CategoryName
}
]
}
Где в настоящее время я получаю это:
{
"@odata.context": "http://localhost/odata/$metadata#Product",
"value": [
{
"Price": 500,
"Category": {
"Name": "Meat Products"
}
}
]
}
Используемый запрос следующий:
/odata/Product?$expand=Category($select=Name)&$select=Price
Я бы ожидал написать такую проекцию:
/odata/Product?$expand=Category&$select=Price,Category/Name as CategoryName
or
/odata/Product?$expand=Category&$select=Price,Category($select=Name as CategoryName)
or
/odata/Product?$expand=Category&$select=Price,Category($select=Name)
Это достижимо? Благодарю вас!
P.S. Одата версии 4.