设为首页 加入收藏

TOP

关系型数据之LinQ基本查询
2019-09-03 01:41:43 】 浏览:11
Tags:关系型 数据 LinQ 基本 查询

如下图所示关系型数据,LinQ语句为:

 
  


var
Query= from a in data.A where a.admin==传入的用户名&&a.pwd==传入的密码(可以传入一个model实体) join b in data.B on a.bid equals b.id into ab from r1 in ab.DefaultIfEmpty() join c in data.C on r1.cid equals c.id into bc from r2 in bc.DefaultIfEmpty() join d in data.D on r2.did equals d.id into cd from r3 in cd.DefaultIfEmpty()

select new { //这里是table A 的id; Id = a.Id, //这里是table B的Name; Name = r1.Name, Pro = r2.Pro, IpAdd = r3.IpAdd }; //转成数组形式; var list = Query.ToList(); //list[0].Name即表示整个LinQ查询的结果的第一条数据的table B的Name,以此类推;

 

: r1可以.出table B的所有数据...以此类推;

r2==table C;

r3==table D;

=====================================================================================================

 1 1、左连接:  2 
 3 var LeftJoin = from emp in ListOfEmployees
 4 join dept in ListOfDepartment
 5 on emp.DeptID equals dept.ID into JoinedEmpDept
 6 from dept in JoinedEmpDept.DefaultIfEmpty()
 7 select new                        
 8 {
 9 EmployeeName = emp.Name,
10 DepartmentName = dept != null ? dept.Name : null                        
11 };
12 
13  
14 
15 2、右连接: 16 
17 var RightJoin = from dept in ListOfDepartment
18 join employee in ListOfEmployees
19 on dept.ID equals employee.DeptID into joinDeptEmp
20 from employee in joinDeptEmp.DefaultIfEmpty()
21 select new                          
22 {
23 EmployeeName = employee != null ? employee.Name : null,
24 DepartmentName = dept.Name
25 };
26 
27  
28 
29 3、内连接: 30 
31  var query = from t in entitiy.TB_GCGL_ADA_USER
32                  join p in entitiy.TB_GCGL_ZY_ZYK
33                  on t.ETPRS_CODE equals p.ETPRS_CODE
34 
35                  select new TB_USER_ZYK
36                  {
37                     USER_ID = t.USER_ID,
38                     USER_NAME = t.USER_NAME,
39                     USER_PASSWORD = t.USER_PASSWORD,
40 
41                  };

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ASP.NET快速学习方案(.NET菜鸟的.. 下一篇.NET C# 创建WebService服务简单..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目