首页 新闻 搜索 专区 学院

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

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-17 10:46

学习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
}

这样就不用手动吧那么多字段都写出来赋值了..

求教大家啊!!

让你笑了的主页 让你笑了 | 初学一级 | 园豆:103
提问于:2011-05-25 16:20
< >
分享
最佳答案
0
                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后再实例化没法修改

收获园豆:10
Jacob·雅各布 | 初学一级 |园豆:200 | 2012-07-02 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册