我将 MVC4 与 Entity Framework 4.1 一起使用。
最初,我们从数据库创建了一个 Ado.net 实体模型。在 .edmx 文件中,数据库中的某些表不可见,因为它们不具有特定表的主键。
随着我们的项目向前推进,我们需要更新到其中一个没有主键字段的日志表。
因此,我们修改了 .edmx 文件,而不是在数据库中进行修改。我们的客户要求我们不要修改数据库字段。我们已经修改了 .edmx 并在表中的一个现有字段(比如tbl_log
表)上创建了一个 pk。
我们正在尝试更新 tbl_log。但它给出了一条错误消息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.
我在堆栈溢出中看到了很多问题,也搜索了一下,但找不到任何解决方案。
即使我尝试刷新 ObjectStateManager 条目,但它仍然指向相同的错误。
这是我的代码
tbl_log log = new tbl_log();
Entity.ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Modified);
log.LoginId = strLoginId;
log.Password = strPassword;
log.IPAddress = strIpAddress;
log.Date_Time = DateTime.Parse(DateTime.Now.ToString());
log.sessionId = new Guid(strSessionId);
Entity.AddTotbl_log(log);
Entity.SaveChanges();// optimistic concurrency error
请帮忙
谢谢,
卡尔提克