【发布时间】:2020-02-07 13:07:22
【问题描述】:
我一直无法写入数据库
别让我出错
写命令不起作用
控制者:
[HttpPost]
public async Task<ActionResult>PartialTabelaEcp(string userDate)
{
var numerMiesiaca = 1;
var numerRoku = 1;
var dbExists = _ecpContext.Karta.FirstOrDefault(f => f.DzMiesiaca == 1 && f.Miesiac ==
numerMiesiaca && f.Rok == numerRoku && f.Login == userName);
if (dbExists == null)
{
List<Karta_Model> objKartaModel = new List<Karta_Model>();
for (int i = 1; i <= liczbaDni; i++)
{
DateTime thisDate = new DateTime(numerRoku, numerMiesiaca, i);
var day = culture.DateTimeFormat.GetDayName(thisDate.DayOfWeek);
var model = new Karta_Model()
{
DzMiesiaca = i,
DzTygodnia = day,
Rozpoczecie = "00:00"
};
objKartaModel.Add(model);
}
await _ecpContext.Karta.AddRangeAsync(objKartaModel);
await _ecpContext.SaveChangesAsync();
}
}
return PartialView("_TabelaEwidencja" );
- 在 _ecpContext.Karta.AddRangeAsync(objKartaModel) 中,在 objKartaModel 中,我有一个模型列表,与“i”一样多
型号:
public partial class Karta_Model
{
public int? DzMiesiaca { get; set; }
public string? DzTygodnia { get; set; }
public string? Rozpoczecie { get; set; }
}
【问题讨论】:
-
您正在使用异步方法,但在移动到下一个命令之前没有等待结果。
-
@ADyson ,我怎么能以编程方式做到这一点?
-
看来你可能需要学习一些介绍性的异步编程教程——既要了解异步可以用于什么,以及如何使用它。 tldr:要么让你的外部方法
async然后await方法,或者使用这些方法的同步版本。在这种情况下,使用 async/await 模式通常是有利的,因为它在执行数据库操作时释放了 .NET 代码中的线程,这意味着您的服务器有更多的能力来响应其他请求。
标签: c# asp.net sql-server asp.net-mvc asp.net-core