0
我正在尝试使用下面的Linq更新行,但由于某种原因它没有进行更新。我已经GOOGLE了,并可以保证我捍卫我的表中的主键。下面是我的代码:在LINQ中编辑行
public static ReturnedSavedSearchStatus editSavedSearches(Eteach.Objects.SavedSearch savedSearch)
{
ReturnedSavedSearchStatus rtn = new ReturnedSavedSearchStatus();
ET_TBL_TalentpoolSavedSearch dbsavedSearch = new ET_TBL_TalentpoolSavedSearch();
dbsavedSearch = AutoMapper.Mapper.Map<ET_TBL_TalentpoolSavedSearch>(savedSearch);
if (dbsavedSearch.id < 0)
{
rtn.status = false;
rtn.description = "Error: Id cannot be less then 0";
}
else
{
using (EteachDatabaseDataContext ctx = new EteachDatabaseDataContext())
{
var result = ctx.ET_TBL_TalentpoolSavedSearches.SingleOrDefault(s => s.id == dbsavedSearch.id);
if (result != null)
{
result = dbsavedSearch;
// ctx.ET_TBL_TalentpoolSavedSearches.InsertOnSubmit(dbsavedSearch);
ctx.SubmitChanges();
rtn.status = true;
rtn.description = "Saved Search saved";
}
}
}
return rtn;
}
你是否尝试过单步执行代码,看看它甚至达到了'ctx.SubmitChanges();'? –
是的,它确实达到了ctx.SubmitChanges(); – user8427641
你需要在调用'SubmitChanges'之前修改/映射结果的属性 - 你不能指定整个实体。 – Oliver