代码改变世界

开发中遇到的抗

2016-04-01 17:21  taozsay  阅读(182)  评论(0编辑  收藏  举报

简述下:在一次开发过程中,用EF查询视图(视图关联两个表,一对多),发现查出的两条数据一样。然后去数据库查发现,是两条不同的数据。这肯定是不对的呀。

接下来查找问题可能出现的原因:

1.首先查询是不是连接数据库不是同一个库,通过排查,显然不是这个问题。

2.难道是缓存,当然不是,目前还没用到缓存。。。

3.还会是什么。

没有头绪,只能怀疑EF 查询有问题,所以去捕获EF查询语句。

打开SQL Server Profiler,新建跟踪,模板选择Tuning,时间选择--筛选迭器,DatabaseName类似于 执行的数据库名+master,确定,运行。

找到sql 语句,执行后发现数据不同,那就说明sql语句是没问题的。

那问题出在哪呢?

最后不怎么突然想起来,关联的表没加主键,这蛋疼的问题,纠结了一下午。

仅此记录下这个坑。