Я новичок в инфраструктуре Entity. У меня есть приложение, которое считывает данные из xml и сохраняет их в базе данных.Слияние данных в db-таблице с новыми данными
Чтение и вставка данных - это ежедневная работа.
В Entity Framework, как я могу объединить новые данные, если есть новые данные в xml со старыми данными в одной таблице?
Этот код вставляет новые данные при его вызове, который выделяет дубликаты объектов. И я не хочу, чтобы данные, хранящиеся в db, были изменены.
public void MyCustomTypes(string Xml)
{
XDocument xDoc = XDocument.Parse(Xml);
List<Category> allCateogries = new List<Category>();
var db = new MyContext();
var caq1 = xDoc.Descendants().Where(e => e.Name.LocalName.Contains("FaceAdd")).Elements().Where(n => n.Name.LocalName.Contains("Buildingtype")).Select(v=>v.Value).Distinct().ToList();
foreach (var x in caq1)
{
Category category = new Category
{
Name = x.ToString(),
NrOfFaceAdds= getNr(x.ToString(), xDoc)
};
allCateogries.Add(category);
}
db.Categories.AddRange(allCateogries);
db.SaveChanges();
}
Принеси старые данные из БД и использовать союз, чтобы объединить списки вместе: http://msdn.microsoft.com/en-us/library/ bb341731.aspx Затем вставьте значения. –
Проверить обновление для моего ответа – Fabjan