1.在数据库中以json字符串格式保存,如:[{\"name\":\"张三\",\"time\":\"8.592\",\"area\":\"27.27033\",\"conc\":\"4.12136\"},{\"name\":\"李四\",\"time\":\"9.100\",\"area\":\"56.21229\",\"conc\":\"4.57692\"}]
2.添加新内容后合并不相同的数据。如果name相同,以最新的数据替换原来的数据。
如:数据库中原保存的数据是[{\"name\":\"张三\",\"time\":\"8.592\",\"area\":\"27.27033\",\"conc\":\"4.12136\"},{\"name\":\"李四\",\"time\":\"9.100\",\"area\":\"56.21229\",\"conc\":\"4.57692\"}]
新加的数据为[{\"name\":\"张三\",\"time\":\"12\",\"area\":\"27.70533\",\"conc\":\"4.12136\"},{\"name\":\"王五\",\"time\":\"4\",\"area\":\"77\",\"conc\":\"8.788\"}]
则替换后的数据为[{\"name\":\"张三\",\"time\":\"12\",\"area\":\"27.70533\",\"conc\":\"4.12136\"},{\"name\":\"王五\",\"time\":\"4\",\"area\":\"77\",\"conc\":\"8.788\"},{\"name\":\"李四\",\"time\":\"9.100\",\"area\":\"56.21229\",\"conc\":\"4.57692\"}]
代码如下:
var listown = ser.Deserialize<List<Dictionary<string, string>>>(own.fldImportData); //原数据
var listmodel = ser.Deserialize<List<Dictionary<string, string>>>(model.fldImportData); //新数据
IEqualityComparer<Dictionary<string, string>> ec = new EntityComparer(); //自定义的比较类
own.fldImportData = ser.Serialize(listmodel.Union(listown, ec)); //合并数据
listLeUpdate.Add(own);
}
else
{
listLeInsert.Add(model);
}
}
CurrentRepository.UpdateAll(listLeUpdate);
CurrentRepository.InsertAll(listLeInsert);
CurrentRepository.Save();
}
本文地址:https://www.stayed.cn/item/1521
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我