首页 新闻 会员 周边 捐助

linq查询的数据错误

0
悬赏园豆:10 [已解决问题] 解决于 2017-12-18 17:39

使用的EF框架,采用的是DBFirst,在实际的使用过程中,发现一个很严重的问题,即使用linq查询数出来的数据是错的,请见下面的图:

1.下面是Linq代码,及调试过程中的参数值

方法:

    public wygl_res_Floor Query(string precinctId, string buildingId,string floorId)
        {
            var q = from t in context.wygl_res_Floor
                    where t.PrecinctID.Equals(precinctId) && t.BuildingID.Equals(buildingId)&&t.FloorID.Equals(floorId)
                    select t;
            return q.FirstOrDefault();
        }

调试的参数图,参数的值见监视里面值:

 

执行的结果图:

 

看上面的结果,明显的不对啊,我传的参数BuildingID是001,查询出来的结果却是008,把生成的sql放到数据库查询的结果是对的,数据库的结果见下图:

看到这里整个人就不好了,不知道哪里出了问题,在mapping中的代码如下:

        public wygl_res_FloorMap()
        {

            this.HasKey(t => t.ID);
            this.HasKey(t => t.PrecinctID);
            this.HasKey(t => t.BuildingID);
            this.HasKey(t => t.FloorID);
            this.Property(t => t.PrecinctID).HasMaxLength(20);

            this.Property(t => t.BuildingID).HasMaxLength(20);

            this.Property(t => t.FloorID).IsRequired().HasMaxLength(20);
            this.Property(t => t.FloorName).HasMaxLength(20);

            this.ToTable("wygl_res_Floor");
            this.Property(t => t.ID).HasColumnName("ID");
            this.Property(t => t.PrecinctID).HasColumnName("PrecinctID");
            this.Property(t => t.BuildingID).HasColumnName("BuildingID");
            this.Property(t => t.FloorID).HasColumnName("FloorID");
            this.Property(t => t.FloorName).HasColumnName("FloorName");


        }

 

现在除了这里出现这种错误以外,其它的表也出现了相同的问题,不知道如何排错了,特向园子里面的大神请教

 

beggar_的主页 beggar_ | 初学一级 | 园豆:10
提问于:2017-10-19 16:31
< >
分享
最佳答案
0

自己解决了,是在mapping里面设置了多个key,只保持一个Key就不存在这个情况,多KEY的情况再测试

beggar_ | 初学一级 |园豆:10 | 2017-12-18 17:38
其他回答(2)
0

看着没有问题啊...

猝不及防 | 园豆:2878 (老鸟四级) | 2017-10-19 17:01

bu过我比较好奇非空字段xxx查询是 xxx=sss or xxx=null吗

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2017-10-19 17:04

难道是大小写的问题?用的啥数据库啊

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2017-10-19 17:04

bu对,要不然重新建一下实体类试试?

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2017-10-19 17:05

ni试试first,,没有ordefault呢

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2017-10-19 17:12

@猝不及防: 数据库是sql server 2014,实体类没有问题,重建也是一样吧.

支持(0) 反对(0) beggar_ | 园豆:10 (初学一级) | 2017-10-19 17:12
0

看最终执行的sql吧.

收获园豆:10
吴瑞祥 | 园豆:29449 (高人七级) | 2017-10-19 21:17

 最终执行的SQL放到数据库查询,结果是对的,我也有截图放在下面

支持(0) 反对(0) beggar_ | 园豆:10 (初学一级) | 2017-10-20 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册