我之前在项目中用EF读取一个视图的数据,页面展示出现重复数据,当时百思不得其解,跟踪代码,数据读取时取到的数据并不是重复,为什么在前台显示就有重复了呢,我当时就在业务层将数据去重,但取到的数据跟数据库的数据就对不上了,最后是因为 实体对象中 没有设置所谓的“复合主键”(就是唯一区别的标识,当然在视图中不存在复合主键这一说的)。修改视图的SQL语句重新生成实体对象就好了。
所以EF并非我们想象的那么智能。
时间: 2024-10-11 16:32:09
我之前在项目中用EF读取一个视图的数据,页面展示出现重复数据,当时百思不得其解,跟踪代码,数据读取时取到的数据并不是重复,为什么在前台显示就有重复了呢,我当时就在业务层将数据去重,但取到的数据跟数据库的数据就对不上了,最后是因为 实体对象中 没有设置所谓的“复合主键”(就是唯一区别的标识,当然在视图中不存在复合主键这一说的)。修改视图的SQL语句重新生成实体对象就好了。
所以EF并非我们想象的那么智能。