#c# #asp.net #odata
#c# #asp.net #odata
Вопрос:
Работаю с простым Odata, и я пытаюсь выполнить многоуровневое расширение, и я получаю нуль при расширении второго уровня. Есть ли правильный способ расширения с несколькими уровнями?
Вот мой пример модели, а также то, как у меня работает функция
protected override async Task<IEnumerable<Item>> InternalExecute()
{
using (HttpClient client = AuthHelper.GetHttpClient(_connectionString))
{
var oData = new ODataClient(new ODataClientSettings(client));
var head = await oData
.For<Item>()
.Expand(x => x.account)
.Expand(x => x.account.parentaccountid)
.FindEntriesAsync();
return head;
}
}
public class Item
{
public string itemname { get; set; }
public Account account { get; set; }
public class Account
{
public string accountid { get; set; }
public string name { get; set; }
public ParentAccount parentaccountid { get; set; }
}
public class ParentAccount
{
public string accountid { get; set; }
public string name { get; set; }
}
}```
Комментарии:
1. Вопрос может иметь больше смысла, если вы переименуете свойство Account.parentaccountid во что-то более похожее на Account.parentaccount …? Код легче читать, если вы используете camelCase или camelCase для своих свойств?
2. Возможно ли, что элементы в данных (например, учетные записи ‘экземпляры’) иногда имеют нулевые значения для свойства ParentAccount (называемого ‘parentaccountid’)?
3. @Aidanapword Хотя это правда, что иногда он возвращает нулевые значения, я снова проверил нашу crm, что записи имеют родительскую запись и возвращают значение null.