首页 > 代码库 > EF执行SQL语句 结果和直接在Sqlserver中执行结果不一致
EF执行SQL语句 结果和直接在Sqlserver中执行结果不一致
先说问题
直接执行sql的结果
var result = base.Context.Customers.SqlQuery(sql);
sql 语句是打断点取得的,连接的也同是一个数据库 ,但是结果不一致
用SqlDataAdapter把数据取到DataSet 中也是正确的
所以可以排除sql 语句有问题
虽然找出了一个解决办法,但是在这里加一个DataSet太丑陋了,虽然规避了问题
然后换了一个EF直接执行sql的方式
var result = base.Context.Database.SqlQuery(typeof(Customer), sql).GetEnumerator();
这个方法取得的数据就是正常的,只是返回的是一个 DbRawSqlQuery 对象,
GetEnumerator()或者ToListAsync()处理之后才能获得IEnumerable<T>对象
虽然绕过了问题,但是并没有找到发生问题的原因,如果有大神知道还望赐教
EF执行SQL语句 结果和直接在Sqlserver中执行结果不一致
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。