20180509_找不到方法:“Void System.Data.Entity.Infrastructure.DbEntityEntry`1.set_State(System.Data.EntityState)”
找不到方法:“Void System.Data.Entity.Infrastructure.DbEntityEntry`1.set_State(System.Data.EntityState)”
1. 解决思路:
起初以为是数据库的问题, 因为插入的执行是成功的, 但是更新和删除是不能执行, 还是以为数据库没有主键;
后来调试了一下, 发现数据库没有问题
2. 然后既然是Entity.Infrastructure.DbEntityEntry那就去看看 EF文件的版本; 发现果然有问题, MVC层EF的版本是6.0的, 而其他层的EF版本都是5.0
下图是MVC层的EF版本. 可以看到是6.0

下图是其它层Model层的EF, 可以看到是5.0

3. 那就将所有其它层 BLL 和DAL 和Model层的EF都改成6.0的即可解决
4. 接下可能会报 “System.Data.EntityState”和“System.Data.Entity.EntityState”之间的不明确的引用 这个错误, 直接修改即可
System.Data.Entity.EntityState.Deleted;
5. 然后重新生成一下即可
浙公网安备 33010602011771号