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

我被困写数据库
不要把我丢错
写命令不起作用

控制器:

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

参考方案

您的方法正在调用async操作:

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

因此,您需要等待他们:

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

为此,您的方法还必须为async

public async Task<ActionResult> PartialTabelaEcp(string userDate)

如果您不等待异步操作,那么代码将在完成之前继续进行,因此,当您进入SaveChangesAsync时,没有什么可保存的。 (并且该操作本身可能会失败,并且您没有观察到失败。)

ASP.NET Core 2.0中的多个身份 - c#

我正在将ASP.NET Core 1.0应用程序迁移到ASP.NET Core 2.0。在我的启动中,我正在配置两个身份:services.AddIdentity<IdentityUser, IdentityRole>(configureIdentity) .AddDefaultTokenProviders() .AddUserStore<…

ASP.net C#崩溃一行 - c#

我有一个母版页,在on load事件中包含以下几行: string menuIDdata = Page.Request.QueryString["mid"]; menuID = 0; // Get the menu ID if (!int.TryParse(menuIDdata, out menuID)) { menuID = 0; } …

使用Java脚本基于另一个控件项来验证ASP.NET C#控件 - c#

我正在尝试确保一个下拉框或另一个下拉框具有选定的条目,不能两者都选,并且不能都留空/未选择。每次单击运行javascript验证代码的搜索按钮时,即使我只是从一个下拉列表中选择,甚至从两个下拉列表中都没有选择,我都会收到一条消息,好像在两个下拉框中都选择了一样!这可能是我的逻辑,但是,我认为也可能是我的变量读为null。是否有人对问题可能是什么以及如何解决这…

合并List <T>和List <Optional <T >> - java

鉴于: List<Integer> integers = new ArrayList<>(Arrays.asList( 10, 12 )); List<Optional<Integer>> optionalIntegers = Arrays.asList( Optional.of(5), Optional.em…

无法从ArrayList <String>转换为List <Comparable> - java

当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…