2015-01-23 8 views
2

Я запускаю следующий запрос, который содержит родительское отношение child => между Case и Account, и содержит имя Account.Name в ВЫБОР: классForce.com Toolkit для конструктора .NET класса с QueryAsync, когда SQL-запрос имеет отношение child/parent

 string query = "SELECT Case.CaseNumber,Case.Account.Name,Case.Status FROM Case WHERE Status != 'Closed' AND OwnerId IN (SELECT Id FROM User WHERE Email = '" + userEmail + "') ORDER BY Account.Name"; 
     var results = await client.QueryAsync<CaseWorkload>(query); 

CaseWorkload был определен как:

public class CaseWorkload 
{ 
    public string CaseNumber { get; set; } 
    public string Status { get; set; } 
    public string AccountName { get; set; } 
} 

Я не смог получить информацию AccountName, как возвращаемый SQL показывает «Account.Name», и я не мог найти путь в SOQL для псевдонима столбца. Как класс должен быть создан с учетом данного запроса?

+0

ли вам когда-либо решают это? Я столкнулся с той же проблемой. –

ответ

3

Нашел ...

Вам нужно сделать следующее, чтобы получить имя учетной записи - тогда, конечно, вы можете отобразить имя учетной записи свойству в CaseWorkload при желании:

public class CaseAccount 
{ 
    public string Name { get; set; } 
} 

public class CaseWorkload 
{ 
    public string CaseNumber { get; set; } 
    public string Status { get; set; } 
    public CaseAccount Account { get; set; } 
} 
+0

, а если у вас есть водопад? Пример: открытый класс CaseAccount { public string Имя {get; задавать; } public User Owner {get; задавать; } public User CreatedBy {get; задавать; } } общественный класс CaseWorkload { public string CaseNumber {get; задавать; } public string Status {get; задавать; } общественная учетная запись CaseAccount {get; задавать; } } Объекты пользователя никогда не заполняются с возвратом этого запроса. Я добавляю CreatedBy.Name, CreatedBy.Phone, Owner.Name, Owner.Phone в запросе. Использование Postman Я вижу, что результат запроса работает нормально. – CidaoPapito