关于linq,问一个linq内部执行的问题

糊涂 2012-01-12 05:25:55
DataClassesDataContext dataContext = new DataClassesDataContext();
var re = from a in dataContext.E_Enterprise
where a.Email != string.Empty
select a;

以上代码里的 from a in dataContext.E_Enterprise
他是和sql语句一样的执行方式吗?
select * from E_Enterprise where Email != string.Empty
sql在这里是按条件去查找数据。
那么上面那段linq的代码,他是先把整个表的数据取出来再按条件获取的,还是跟上面的sql语句一样?

不知道我说明白没有。
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh6335901 2012-01-12
  • 打赏
  • 举报
回复
SQL其实就是先执行FROM的,Linq to sql这么设计估计就是这个原因吧。Linq to sql最终会翻译成sql的
devmiao 2012-01-12
  • 打赏
  • 举报
回复
这里有一篇文章你可以看看哦:http://tech.ddvip.com/2012-01/1326348131170602.html
喵~
devmiao 2012-01-12
  • 打赏
  • 举报
回复
是在数据库那里处理的。
查询会被编译为查询表达式,linq to sql会把它转化为sql。
q107770540 2012-01-12
  • 打赏
  • 举报
回复
var re = from a in dataContext.E_Enterprise
where a.Email != string.Empty
select a;

这段代码在执行时,会先翻译成对应的SQL语句(这个你可以在调试时查看dataContext.Log)
然后将SQL语句发送给SQL执行返回结果

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧