标签:
EF更新指定的字段...
搜来搜去发现没有自己想要的啊...
或许本来就有更好的办法来实现我这个,所以没有人来搞吧...
如果有,请不吝告知..GG..
//要更改UserInfo表中指定的列,比如这个表有15列,如果很多列都要更新,就要判断要更新哪个不要更新哪个.. //现在这样就是传过来多少列,循环更新下就可以了 public string UserInfo_Update_Test(string jsonParames) { jsonParames = "一个json串";//比如:{ "ID": "7","LoginName": "修改后的登录名","PassWord": "修改后的密码"} Dictionary<string, object> userInfoDic = (Dictionary<string, object>)JSON.Instance.Parse(jsonParames);//需要引用fastJSON程序集 int ID = 0; if (userInfoDic.ContainsKey("ID")) { int.TryParse(userInfoDic["ID"].ToString(), out ID); } var db = new DBEntities(); UserInfo info = db.UserInfo.Single(u => u.ID == ID); //本来想的是一个个字段来判断,if(userInfoDic.ContainsKey("要更新的字段")){info.要更新的字段 =userInfoDic["要更新的字段"]; } //由于UserInfo这个表字段较多...并且还有其他好多表要搞...所以用了下面的方法... #region 主要内容...用来替换太多的if判断... foreach (var pro in info.GetType().GetProperties()) { if (userInfoDic.ContainsKey(pro.Name)) { pro.SetValue(info, userInfoDic[pro.Name]); } } db.SaveChanges();//这个不能忘... #endregion return null; }
标签:
原文地址:http://www.cnblogs.com/love-zf/p/5704269.html