2013-05-15 3 views
0

У меня есть модель, которая используется для изменения пароля пользователя и фиксирует дату, когда пароль был изменен. Я получаю сообщение об ошибке анонимного типа или индексатора анонимного типа не может быть присвоено ему только для чтения Я получаю эту ошибку для обоих полей как пароль, так и CreateDate. Я знаю только 1 способ, чтобы выбрать несколько полей из объекта и это он ..mvc3 назначить анонимные типы или обходное решение

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(); 

Есть ли способ, что я могу назначить эти новые значения, не получив сообщение об ошибке или обходной путь?

ответ

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 } 

является анонимным и его индексированные свойства не могу быть назначены

+0

спасибо .. вот именно то, что мне было нужно. – user1591668