Linq To Sql 为什么第一个方法成功修改了数据,而第二个方法不行(代码如下):

//User是数据表,“ID”是主键,传入参数是更改后的数据方法一:publicstaticboolEditUser(UseruserToBeEdi){DataClass... //User是数据表,“ID”是主键,传入参数是更改后的数据
方法一:
public static bool EditUser(User userToBeEdi)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
User edit = dc.User.Single(c=>c.ID ==userToBeEdi.ID);
edit.年龄 = userToBeEdi.年龄;
edit.性别 = userToBeEdi.性别;
edit.姓名 = userToBeEdi.姓名;
dc.SubmitChanges();
return true;
}
方法二:
public static bool EditUser(User userToBeEdi)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
User edit = dc.User.Single(c=>c.ID ==userToBeEdi.ID);
edit = userToBeEdi;
dc.SubmitChanges();
return true;
}
展开
 我来答
lanniao007
2012-03-17 · TA获得超过1011个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:436万
展开全部
edit和userToBeEdi不是一个一样的内部结构的表对象。因此不能直接赋值。
更多追问追答
追问
他们不是都是"User"类型吗?还请多多指教,我学的还很浅^_^
追答
即使是同一类型你看看内部结构是不是一样的。例如列,列类型。
其后再看数据条数。一般这种直接对象直接赋值的话肯定是一条或者左边对象就是空的。
还有一种可能就是某一对象是多条。用多条更新一条也会有问题。或者一条更新多条。都会有问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式