小问题系列(2010-05)
问题一(05.13):用户表的角色字段(RoleID)是外键,当更新用户信息时,更新其他字段都没问题,就是RoleID有改变时,就会出现“对象的当前状态使操作无效”的错误。如果把RoleID的外键属性去掉,就不出错了。我上网找了一圈,也没找到我需要的解决方法,就只能自己瞎摸索了。我打开Linq to sql类,对用户表的RoleID字段,一个一个属性看过去,觉得“更新检查”和“自动同步”这2个属性,应该与此错误有点关系。“更新检查”之前就已经设为“从不”了,我就把“自动同步”改成“更新时”,测试了一下,没用;于是再改成“始终”,测试了一下,不出错了,成功更新了!问题暂时解决了,只是不知道这个解决办法对不对。
不知道为什么,当时可以更改了,第二天又不行了。我上网找啊找,搜啊搜,找不到类似的错误,搜不到解决的办法。我把代码研究啊研究,找不出错误的原因。哪位高手来指点指点啊?这个问题不解决,后面的工作无法做啊。后面还有很多这样关联的表呢。
05.22:哈哈,今天终于知道问题一的原因在哪里了。我把读取数据库的类设成Static了,问题就出在这里啊。