猿问

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

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

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

求教大家啊!!

慕尼黑的夜晚无繁华
浏览 413回答 1
1回答

蝴蝶刀刀

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后再实例化没法修改
随时随地看视频慕课网APP
我要回答