码迷,mamicode.com
首页 > 数据库 > 详细

EF执行SQL语句 结果和直接在Sqlserver中执行结果不一致

时间:2017-05-05 18:27:15      阅读:421      评论:0      收藏:0      [点我收藏+]

标签:排除   .com   src   result   方式   tor   tab   raw   context   

先说问题

直接执行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中执行结果不一致

标签:排除   .com   src   result   方式   tor   tab   raw   context   

原文地址:http://www.cnblogs.com/NEAVERS/p/6814249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!