遍历字典并将项目附加到对象
本文关键字:对象 项目 字典 遍历 | 更新日期: 2023-09-27 18:30:59
我有一个实体框架对象"user"。我正在字典中传递变量以更新用户。我想循环访问字典项并将它们附加到实体框架对象。
因此,如果一个项目有一个 id,它将被更新,否则它将入
词典条目:
Dictionary<string, string> updateItems = new Dictionary<string, string>();
updateItems.Add("column1", "value1");
updateItems.Add("column2", "value2");
功能:
public static void markPost(Dictionary<string, string> data)
{
using (var db = new DB())
{
var user = new user();
if (data.ContainsKey("id"))
{
user = db.user.Find(Int32.Parse(data["id"]));
}
foreach (KeyValuePair<string, string> entry in data)
{
if (!entry.Key.Equals("id"))
{
PropertyInfo propertyInfo = user.GetType().GetProperty(entry.Key);
propertyInfo.SetValue(user, entry.Value, null);
}
}
if (!data.ContainsKey("id"))
{
db.user.Add(user);
}
db.SaveChanges();
}
}
在你的 foreach 循环中,尝试
PropertyInfo propertyInfo = user.GetType().GetProperty(entry.Key);
propertyInfo.SetValue(user, entry.Value, null); //Assumes the value is of the same type as the property.
您将需要 System.Reflection 的 using 指令。