读书人

linq 实体更新有关问题在线

发布时间: 2013-11-15 22:28:15 作者: rapoo

linq 实体更新问题,在线请教高手,急!!!
linq 实体更新有关问题,在线,

ZhhDataContext db = ZhhDataContext.Create();

Zhh.Models.User user = new Zhh.Models.User();
user.LoginID = LoginID;
user.Password = Password;
user.LoginCount += 1;
user.LastTime = DateTime.Now;
Modify(user);

public bool Modify(User t)
{
Zhh.Models.User user = db.User.FirstOrDefault(u => u.PKID == t.PKID);

user = t;

db.SubmitChanges();

return true;
}


请问这样些为什么更新不了数据啊。请教高手!!!
[解决办法]
告诉你了user = t;这样写不行,new 了user,就要对其属性赋值,才能更新
user = t;这样是将new的user指向了t,并没有改变new出来的user的内部属性的值
改为
user.xxx = t.xxx;
user.yyy = t.yyy
[解决办法]
user = t;

这肯定是不和的,不能对实体直接付值,要对其内的属性字段一个个的来:

user.LoginID = t.LoginID;
user.Password = t.Password;
....
[解决办法]
引用:
告诉你了user = t;这样写不行,new 了user,就要对其属性赋值,才能更新
user = t;这样是将new的user指向了t,并没有改变new出来的user的内部属性的值
改为
user.xxx = t.xxx;
user.yyy = t.yyy
++1

读书人网 >.NET

热点推荐