LINQ更新问题
LINQ在执行更新操作时 遇到的问题。
MSDN包括别人的写的更新的例子,都是更新某个对象的某个属性。
这种情况在属性少时或者确定哪个属性更新时才行。
如果 一个类有很多属性,或者不知道哪个属性更新了 怎么办?
要把所有的属性都写一遍么?
我的想法是
在执行更新时 传过来一个对象,
根据这个对象的ID取出数据库的,
然后把 传过来的对象赋值给新取出的对象
最后执行OnsubmitChanges();方法。
但是 却没有更新。
MSDN包括别人的写的更新的例子,都是更新某个对象的某个属性。
这种情况在属性少时或者确定哪个属性更新时才行。
如果 一个类有很多属性,或者不知道哪个属性更新了 怎么办?
要把所有的属性都写一遍么?
我的想法是
在执行更新时 传过来一个对象,
根据这个对象的ID取出数据库的,
然后把 传过来的对象赋值给新取出的对象
最后执行OnsubmitChanges();方法。
但是 却没有更新。
1
NorthwindDataContext db = new NorthwindDataContext();
2![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
public void Update(Customers c)
4
{
5
//根据ID取出
6
Customers cust = (from cus in db.Customers
7
where cus.CustomerID == c.CustomerID
8
select cus).FirstOrDefault();
9
10
cust = c;
//执行到这个地方时,cust里面的属性已经更改过了
11
db.SubmitChanges();
//但是 提交后 数据库中的值却没有更新
12
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//执行到这个地方时,cust里面的属性已经更改过了
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//但是 提交后 数据库中的值却没有更新
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)