0
好吧這一個讓我瘋狂!我在這裏做錯了什麼?插入操作的作品,但更新不...預先感謝您!爲什麼這個LINQ不更新?
if (mFromXml.Any()) {
using (DBDataContext DB = new DBDataContext()) {
foreach (object m_loopVariable in mFromXml) {
m = m_loopVariable;
XSLive mToDb = new XSLive();
mToDb.Id = m.Id;
mToDb.Location = m.Location;
XS.XSLive existingMInDb = (from c in DB.XSLive where c.Id == mToDb.Id).FirstOrDefault();
if (existingMInDb != null) {
existingMInDb = mToDb;
} else {
DB.XSLive.InsertOnSubmit(mToDb);
}
}
DB.SubmitChanges();
}
}
切勿使用'如果mFromXml.Count()> 0'檢查一個序列包含的元素。這將執行整個查詢(如果它不是集合),只是爲了確定「計數」。而是使用'mFromXml.Any'。 –
@TimSchmelter謝謝Tim! – OrElse
您說'if(existingMInDb!= null){{{{}} {} {}現有MInDb = mToDb; ' - 看起來如果你有什麼東西,你馬上就會忘記它是什麼。 –