【发布时间】:2022-12-21 16:37:17
【问题描述】:
我正在做一个项目来记录软件工程师的技能。 工程师将进行的每次提交都将记录多项技能及其相应的分数。
我的模型
public partial class Score
{
public int Id { get; set; }
public int User { get; set; }
public int SubmissionPeriod { get; set; }
public int Capability { get; set; }
public byte Score1 { get; set; }
}
我的 Web API 帖子:
[HttpPost]
public async Task<ActionResult<Score>> PostScore(Score score)
{
_context.Scores.Add(score);
await _context.SaveChangesAsync();
return CreatedAtAction("GetScore", new { id = score.Id }, score);
}
我的通话界面:
public ActionResult NewSubmission(ScoreModel newScoreSubmission)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(Baseurl + "/api/Scores/PostScore");
//HTTP POST
var postTask = client.PostAsJsonAsync<ScoreModel>(client.BaseAddress, newScoreSubmission);
postTask.Wait();
var result = postTask.Result;
if (result.IsSuccessStatusCode)
{
return RedirectToAction("ListScores");
}
else
{ //ModelState.AddModelError(string.Empty, "An Error Occured in 'public ActionResult NewCapability'- Please contact Dev Support ");
}
}
return View(newScoreSubmission);
}
问题显然是为单次输入设置的。因此每次调用 Web API 一个“分数”。 我确定我需要以某种方式传递分数对象列表,但尽管阅读了几篇文章,我还是感到非常迷茫和困惑。
希望你们能帮忙告诉我我哪里出了问题或者代码可能是什么样子的..
谢谢阅读..
【问题讨论】:
-
“我需要以某种方式传递一个列表”——为什么?传递列表可能有助于减少调用次数,但如果这不是问题,您可以坚持使用单个对象。
-
但是,如果每次提交有 50 个分数,那不是很浪费吗?
标签: c# entity-framework webapi