gpt4 book ai didi

c# - 将List<>写入数据库asp.net

转载 作者:行者123 更新时间:2023-12-03 03:29:04 25 4
gpt4 key购买 nike

  • 我在写入数据库时​​遇到困难

  • 不要给我任何错误

  • 写入命令不起作用

Controller :

[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; }
}

最佳答案

您的方法正在调用异步操作:

_ecpContext.Karta.AddRangeAsync(objKartaModel);
_ecpContext.SaveChangesAsync();

所以你需要等待他们:

await _ecpContext.Karta.AddRangeAsync(objKartaModel);
await _ecpContext.SaveChangesAsync();

为此,您的方法还需要是异步:

public async Task<ActionResult> PartialTabelaEcp(string userDate)

如果您不等待异步操作,则代码会在完成之前继续执行,因此当您进入 SaveChangesAsync 时,无需保存任何内容。 (该操作本身可能会失败,而您没有观察到失败。)

关于c# - 将List<>写入数据库asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60114157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com