FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 987|回复: 1
打印 上一主题 下一主题

EF语句转换

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-14 14:15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. SELECT u.ChineseName,u.Name,d.Name,t2.Name FROM dbo.Users u
  2.    LEFT JOIN dbo.Depts d  ON u.DeptID = d.ID
  3.    LEFT JOIN dbo.TitleUsers t ON u.ID = t.UserID
  4.    LEFT JOIN dbo.Titles t2 ON t.TitleID = t2.ID
  5.    ORDER BY t2.Name desc
复制代码


这语句怎么用
  1. IQueryable
复制代码

写出来?


沙发
发表于 2014-4-15 11:19:28 | 只看该作者
我没创建表测试,下面语句你看下生成的sql语句是否可行。
  1.     var sel = from u in dbo.Users
  2.             join d in dbo.Depts on u.DeptID equals d.ID into dept
  3.             from d_d in dept.DefaultIfEmpty()
  4.             join t in dbo.TitleUsers on u.ID equals t.UserID into title1
  5.             from d_t in title1.DefaultIfEmpty()
  6.             join t2 in dbo.Titles on d_t.TitleID equals t2.ID into tile2
  7.             from d_t2 in tile2.DefaultIfEmpty()
  8.             orderby d_t2.Name
  9.             select new {
  10.                 ChineseName = u.ChineseName,
  11.                 Name=u.Name,
  12.                 DeptName = (d_d.DeptID == null) ? string.Empty : d_d.Name,
  13.                 TitleName = (d_t2.ID == null)? string.Empty : d_t2.Name
  14.             };
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-26 18:35 , Processed in 0.042848 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表