为了账号安全,请及时绑定邮箱和手机立即绑定

使用entity framework如果批量提交数据?

使用entity framework如果批量提交数据?

慕尼黑的夜晚无繁华 2018-12-07 11:34:41
学习MVC的新手, 有几个问题,想问一下: 我从前台页面获得了一个列表数据 , 提交到CONTROLLER , 之后保存到数据库 1. 如何提交列表数据并在CONTROLLER中获取? 2. CONTROLLER如何获取参数呢? 3. 上面两个问题,我从网上搜索了,基本能达到效果,就是不知道对不对... 有一种是,通过参数名blog[0].name = xxxx&blog[0].updatetime = xxxx&blog[1].name=xxxx&blog[1].updatetime=xxx这样的结构提交到CONTROLLER,然后CONTROLERER中可以 public actionresult save(DB_BLOG blog){ } 还有一种是我现在行采用的,并且想问的 就是我通过前台生成了一个XML字符串到CONTROLLER,之后CONTROLLER 通过LOAD字符串获取XML.. 然后我想通过遍历这个XML...来添加到数据库..我是EF实体类是DB_USER,我试了一下..只能这样添加到数据库中 //获取前台传入的列表数据XmlNodeList xusers=bd.SelectNodes("//users/R");//遍历, 插入到数据for(int i=0;i<users.Count;i++){ XmlElement xuser = (XmlElement)xusers.Item(i); //一个新 user DB_USER user = new DB_USER(); user.name = xuser.GetAttribute("name"); user.fullname = xuser.GetAttribute("fullname"); //.....就得吧所有的字段都写一遍赋值..能不能有方便的形式 db.DB_USER.AddObject(um_user);}db.SaveChanges();//能不能有办法想下面这样直接通过访问相应的XML节点的Attribute来给DB_USER赋值呢?for(int j=0;j<xuser.Attributes.Count;j++){ user[xuser.Attributes.Item(j).Name] = fee.Attributes.Item(j).Value} 这样就不用手动吧那么多字段都写出来赋值了.. 求教大家啊!!
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

                using (_objDb = new UnicornEntities())
                {
                    //using (TransactionScope ts=new TransactionScope())
                    //{
                        for (int i = 0; i < 5; i++)
                        {
                            
                                tblUnicornWorkOrderSpentTime tuwostNew = tuwost;
                                tuwostNew.SpentTimeID = Guid.NewGuid();
                                tuwostNew.IsDeleted = false;
                                tuwostNew.CreatedByID = new Guid(_ownerId);
                                tuwostNew.CreatedDate = DateTime.Now;
                                tuwostNew.LastModifiedByID = new Guid(_ownerId);
                                tuwostNew.LastModifiedDate = DateTime.Now;
                                _objDb.tblUnicornWorkOrderSpentTime.AddObject(tuwostNew);
                                //_objDb.SaveChanges();
                            
                        }
                        _objDb.SaveChanges(); 
                        //_objDb.AcceptAllChanges();
                    //    ts.Complete();
                    //}
                }

我想要一次性上传数据,中断则不提交 ,可是这样是能添加一条,之前的写法会抛异常    saveChanges后再实例化没法修改

查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 412 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信