0

我有一个用于修改用户密码并捕获密码更改日期的模型。我收到一条错误消息,指出无法将属性或索引器匿名类型分配给它是只读的,我在密码和 CreateDate 两个字段中都收到了该错误。我只知道从实体中选择多个字段的一种方法,就是这样..

  var old= db.registration.Where(b => b.email == getid.email).Select
(s => new { s.password, s.CreateDate }).FirstOrDefault();

                     old.CreateDate = DateTime.Now();

                     old.password = new.password;
                     db.Entry(old).State = EntityState.Modified;
                     db.SaveChanges();

有没有一种方法可以分配这些新值而不会收到错误消息或解决方法?

4

1 回答 1

0

只需选择默认对象并使用它运行

var old= db.registration.Where(b => b.email == getid.email).FirstOrDefault();
old.CreateDate = DateTime.Now();
old.password = new.password;
db.Entry(old).State = EntityState.Modified;
db.SaveChanges();

您收到的错误消息可能是因为您分配给匿名类型的索引,即。

 s => new { s.password, s.CreateDate }

是匿名的,它的索引属性不能分配给

于 2013-05-16T00:23:16.123 回答