我有一個 linq 陳述句似乎作業正常并獲得正確的資料:
[HttpGet]
public async Task<IActionResult> Get()
{
List<DiaryRecord> diaryRecords = await this.Context.DiaryRecords
.Include(d => d.Project)
.Include(e => e.Employees)
.ToListAsync();
return Ok(diaryRecords);
}
員工是
public virtual ICollection<Personell> Employees { get; set; }
我通過以下方式在客戶端程式集中請求此串列:
this.DiaryRecords = await this.HttpClient
.GetFromJsonAsync<IEnumerable<DiaryRecordModelDTO>>("api/Diary");
員工在哪里:
public ICollection<PersonellDTO> Employees { get; set; }
由于輸出this.DiaryRecords具有所有需要的資訊,除了這里的員工為空。由于不同的類PersonellDTO和Personell. 如何使它作業?
uj5u.com熱心網友回復:
.GetFromJsonAsync 總是非常棘手,從不使用介面來反序列化 json。并且 json 不知道使用 PersonellDTO 或 Personell 的類來創建 http 回應。
在你的 DTO 介面中,這應該被固定到一個具體的類
public List<PersonellDTO> Employees { get; set; }
我總是對 httpclient 使用這樣的代碼
var response = await client.GetAsync(api);
if (response.IsSuccessStatusCode)
{
var stringData = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<List<DiaryRecordModelDTO>(stringData);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/394308.html
上一篇:TObjectList<T>.IndexOf給出不正確的結果
下一篇:ReactJS可折疊元素純CSS
