弱弱的问—linq修改数据
tbArticle art = new tbArticle() { id = 1, title = "修改测试" };
tbArticle art2= dc.tbArticle.Single(p => p.id == art.id);
art2.title = art.title;
dc.SubmitChanges();
这样可以修改成功 如果 把
art2.title = art.title;
改为
art2 = art;
这样修改就没反应,也不报错这是为什么啊!
还有就是大家做大量数据修改是怎么做的啊?谢谢了!!
刚刚接触linq,好多都不懂,希望大家多多帮助!
------解决方案--------------------tbArticle art = new tbArticle() { id = 1, title = "修改测试" };
tbArticle art2= dc.tbArticle.SingleOrDefault(p => p.id == art.id);
if(art2 !=null)
{
art2.title = art.title;
dc.SubmitChanges();
}
大量数据修改时 使用foreach逐个修改
最后再SubmitChanges();
------解决方案--------------------
------解决方案--------------------引用类型 浅拷贝,赋值只是复制了引用。
//art2指向 的如 内存1。
tbArticle art2= dc.tbArticle.Single(p => p.id == art.id);
//能操作内存1
art2.title = art.title;
//art2 指向art的如 内存2,不再指向内存1,操作不了内存1了,跟内存1没关系了。
art2 = art;
------解决方案--------------------