例如:你的数据库中有两个字段id,name,此时你的数据库中的数据:001,zhangsan002,lisi003,zhangsan,此时你在name字段上加主键约束或唯一约束的话就会出你说的错误
解决办法:
1、如果你的数据库允许你现有的数据有重复的数据,你可以在可视化界面下建立主键或约束,在完成那一步里有个选项会询问是否检测现有数据,勾掉就可以了
2、如果你的数据库不允许你现有的数据有重复的数据,这样就比较麻烦了,你可以再别的列上加约束,也可以用多列上建立约束
注:其中有些地方说的不一定准确,还请以事实为依据
问题在于你的:oldinstance = instance这句上。
EF的跟踪机制比想像的要复杂,oldinstance由于是dacEntities返回(查询到)的,是被打上跟踪标记的,你直接让oldinstance指向另的对象,那么oldinstance就“失去控制”了,你应该直接在oldinstance上进行你的更改 *** 作,然后savechanges,不用设置oldinstance的state,因为当你修改oldinstance的属性时,跟踪机制会自动知道你改变了oldinstance的属性,将它的状态设为modified。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)