微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在循环内将数据插入数据库时​​,有没有一种方法可以使foreach循环更快?

如何解决在循环内将数据插入数据库时​​,有没有一种方法可以使foreach循环更快?

我正在foreach循环中为每个成员的数据库插入消息,这会使应用程序变慢,因为它将运行200次以上以为每个成员添加消息。我试图使其平行于foreach循环,但是在保存数据时会引发连接错误,而且我有多个foreach循环。

有人在这里帮忙吗?

foreach (var item in coachee)
    {
        MessageRecord MsgRecord = new MessageRecord();
        MsgRecord.MessageID = msgiD;
        MsgRecord.CoachID = coachID;
        MsgRecord.CoacheeID = item.CoacheeIdentityID;
        MsgRecord.CreatedBy = Session["user"].ToString();
        MsgRecord.IsActive = 1;
        MsgRecord.CreatedDate = DateTime.Now;
        message.DocumentPath = DocumentPath;

        bool val = await _repoObjCoach.AddMessageRecordForCoacheeasync(MsgRecord);
        if (val)
        {

            coacheeMails.Add(item.EmailID);
            if (item.Parent_Email != null)
            {
                ParentMails.Add(item.Parent_Email);
            }
            if (item.PhoneMail != null)
            {
                PhoneMails.Add(item.PhoneMail);
            }
           
        if (Convert.ToInt32(Session["Role"]) == ConstantData.Role.Coach)
        {
            _repoObjCoach.MessageCreatednotification(MessageCreatedByCoach.Coachee + Session["user"].ToString(),string.Concat(LinkPageMessageCreated.coachee,item.UserID.ToString()),"",item.CoacheeIdentityID);
        }
        else
        {
            _repoObjCoach.MessageCreatednotification(MessageCreatedByCoach.alternateCoachee + Session["user"].ToString(),item.CoacheeIdentityID);
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。