namespace Automated_VotingSystem.Models
{
public class DisplayCandidatesList
{
public List<DisplayCandidates>? DisplayCandidateslist { get; set;}
}
}
namespace Automated_VotingSystem.Models
{
public partial class DisplayCandidates
{
public int VoterId { get; set; }
public int? CollegeId { get; set; }
public int? EventId { get; set; }
public int CandidateId { get; set; }
public string? Manifesto { get; set; }
public byte[]? Symbol { get; set; }
public string? Symbol_path { get; set; }
}
}
public List<DisplayCandidates> DisplayCandidateslist { get; set; }
[HttpGet("[action]/{GetAllCandidates}")]
public async Task<DisplayCandidatesList> DisplayAllCandidates()
{
var list_of_candidates = (from c in _context.CandidateTables
join ac in _context.ApprovedCandidateTables on c.CandidateId equals ac.CandidateId
join s in _context.SymbolTables on c.SymbolId equals s.SymbolId
where ac.Approval == true
select new
{
candidate_id = ac.CandidateId,
manifesto = c.Manifesto,
symbol_path = s.Symbol_path
}).ToList();
return list_of_candidates;
}
第一個片段是我的班級,第二個片段是我的模型,第三個片段是我的控制器。在執行代碼時,我在回傳候選人串列后出現錯誤
無法隱式轉換型別'System.Collections.Generic.List<<匿名型別:int?候選ID,字串宣言,字串符號路徑>>'到'Automated_VotingSystem.Models.DisplayCandidatesList'
uj5u.com熱心網友回復:
您的 DisplayAllCandidates 方法需要一個 DisplayCandidates 串列。因此,請使用顯式型別 DisplayCandidates 而不是匿名,并將操作回傳型別更改為 List< DisplayCandidate >>。并且由于它是異步操作,因此最好使用異步回傳
public async Task<List<DisplayCandidates>> DisplayAllCandidates()
{
return await (from c in _context.CandidateTables
....
select new DisplayCandidates
{
CandidateId = ac.CandidateId,
Manifesto = c.Manifesto,
Symbol_path = s.Symbol_path
}).ToListAsync();
uj5u.com熱心網友回復:
我不確定你想在這里做什么,但似乎; 您不需要“DisplayCandidatesList”類,您只需要一個“DisplayCandidates”類。如果你在另一個類中使用這個類作為串列的形式,使用那個串列而不是串列?,但在這里你不需要我猜。
您的串列方法可以像那樣回傳“Task<List>”,我建議您研究 C# 中的主題集合和泛型并且不要在控制器操作中使用該命名檢查命名標準 https://restfulapi.net/resource-naming/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407642.html
標籤:
