这是由于数据库中插入的表没有设置主键而造成的。
注意事项:
1. 数据库中的表一定要有主键。因为我不是专业人事,我一直没认为主键是个必须的东西,所以我的个别数据表因为想偷懒而没有设置主键,尤其在我设置了自增值字段如***id以后。但是如果在这种情况下你执行SubmitChanges()程序会处于停滞状态,也不报错。我实验了半天,终于想起了生成ado实体数据时vs2010给我的警告,如果没有主键只能生成只读的表。
2.还是数据库问题。本地测试的项目请不要使用windows用户连接你的数据库资源,最好使用sa用户连接。如果使用了请注意修改web.config。否则发布到本地的iis上会有问题。