首先在mysql数据库定义一个视图,语句和结果如下
然后使用ef进行查询,结果出现如下结果,不管我实验多少次,只要“NUM”这个字段的数字一样的话,那么“NAME”这个字段也会是一样的,为什么会这样?(请无视“ID”字段,此字段是我在程序里面自己添加的)
你用EF怎么进行查询的?看下查询到的原始数据是什么,应该是你的程序自己做了处理
我看了原始数据,和展示的是一样的。我自己的程序没有做过处理,只是实体类继承了一个借口,实现ID字段
public partial class view_count_user : IEntity
{
int id = 0;
public int ID
{
get { return this.id++; }
set { this.id = value; }
}
}
上面是代码,我想这个应该是不影响的.
而且很奇怪,只要两条记录中TYPENAME和TYPE两个字段的数据一样,如TYPENAME的值都是‘aa’、TYPE的值是'bb',则整条记录自动变成一样的,
但是NAME和TYPENAME、NAME中的任何一个字段组合,如NAME的值都是‘aa’、TYPENAME的值是'bb',返回的记录又是正常的.
@我是流氓: EF6还像可以看生成的SQL,以下版本的去数据库跟踪下,看下它的查询语句
@稳稳的河: 已经解决了,谢谢,看下面我的回复
不会吧,这么恐怖。
在mssql里也试试,用跟踪器跟踪下查询的sql语句呢?
已经解决了,我把几个字段名称换了,TYPE改成T,TYPENAME改成TN,NAME 改成N,然后就可以了,我没有单独测试到底是哪个字段或者是哪个组合字段出了问题,因为没改一次,就要在项目里面修改一次DB,至少大概知道了可能是字段里面有关键字的缘故,谢谢楼上几位