简述下:在一次开发过程中,用EF查询视图(视图关联两个表,一对多),发现查出的两条数据一样。然后去数据库查发现,是两条不同的数据。这肯定是不对的呀。
接下来查找问题可能出现的原因:
1.首先查询是不是连接数据库不是同一个库,通过排查,显然不是这个问题。
2.难道是缓存,当然不是,目前还没用到缓存。。。
3.还会是什么。
没有头绪,只能怀疑EF 查询有问题,所以去捕获EF查询语句。
打开SQL Server Profiler,新建跟踪,模板选择Tuning,时间选择--筛选迭器,DatabaseName类似于 执行的数据库名+master,确定,运行。
找到sql 语句,执行后发现数据不同,那就说明sql语句是没问题的。
那问题出在哪呢?
最后不怎么突然想起来,关联的表没加主键,这蛋疼的问题,纠结了一下午。
仅此记录下这个坑。