EF 5:附加没有主键或id的对象来更新列

时间:2013-07-04 01:39:37

标签: c# entity-framework entity-framework-5

我有这段代码:

var user = new User { UserName = "whatever", LastLoginOn = DateTime.UtcNow };
_baseRepository.Context.Users.Attach(user);
_baseRepository.Context.Entry(user).Property(p => p.LastLoginOn).IsModified = true;
_baseRepository.SaveChanges();

问题是我收到此错误:"Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries."

当我使用UserId它可以工作但是我必须往返数据库才能获得该ID。有没有办法按用户名进行查找?

修改

为了解决这个问题,我已经完成了这个:

_baseRepository.Context.Database.ExecuteSqlCommand(string.Format("UPDATE [dbo].[User] SET LastLoginDate = SYSUTCDATETIME() WHERE [UserName] = '{0}'", username));

但这不合适,知道真正的答案会是多么好。

0 个答案:

没有答案