Linq中join多字段匹配
错误示范:
var projectSubmitInfos = (from project in db.T_PM_Project
join member in db.T_PM_Member on project.ProjectID equals member.ProjectID
join user in db.T_Sys_UserInfo on member.UserID equals user.UserID
join task in taskSummary on new {member.UserID, member.ProjectID} equals new
{task.UserId, task.ProjectId}
select new XXX
{
});
正确示范:
var projectSubmitInfos = (from project in db.T_PM_Project
join member in db.T_PM_Member on project.ProjectID equals member.ProjectID
join user in db.T_Sys_UserInfo on member.UserID equals user.UserID
join task in taskSummary on new {UserId = member.UserID, ProjectId = member.ProjectID} equals new
{task.UserId, task.ProjectId}
select new XXX
{
});
两者区别在于on条件中,第一个条件new的对象要加入字段名
Linq中join多字段匹配的更多相关文章
- Linq中join & group join & left join 的用法
Linq中join & group join & left join 的用法 2013-01-30 11:12 12154人阅读 评论(0) 收藏 举报 分类: C#(14) 文章 ...
- Linq 中 Join 的用法
Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下. 注:本文内容主要来自<Linq实战>,本例中用到的对象请见文章底部. 1. 组连接 组连接是与分组查询是一样的. ...
- linq中join的用法
join方法 public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>( this IEnu ...
- Linq 中的 left join
Linq 中的 left join 表A User: 表B UserType: Linq: from t in UserType join u in User on t.typeId equal u. ...
- Linq 中查询一个表中指定的字段
//Linq中查询一个表中指定的几个字段: ); // FindAllItems()为查询对应表的所有数据的方法: // Where 里面为查询条件 // Select 为查询的筛选条件 new{} ...
- Linq中使用Left Join
use Test Create table Student( ID ,) primary key, ) not null ) Create Table Book( ID ,) primary key, ...
- Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)
1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类 ...
- 数据库和linq中的 join(连接)操作
sql中的连接 sql中的表连接有inner join,left join(left outer join),right join(right outer join),full join(full o ...
- linq中给字段添加别名
linq 是我们在查询中经常回用到的一种形式,比如我们创建一个类,然后List<添加> 并绑定到表格中 public class Modeltest { string id; public ...
随机推荐
- PHP输出缓存ob系列函数
ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担. ob的基本原则:如果 ...
- [C#.Net]全局钩子实现USB扫码枪无焦点状态下扫入
https://www.cnblogs.com/masonlu/p/10105135.html
- Django--Hello
学习导向:what(是什么).why(为什么).how(怎么用) 1.视图 ①.在没有框架的时代,我们一般使用html实现一个页面 ②.但是现在我们不可能用写html来实现所有功能(不可能) ③.我们 ...
- Excel 转为 MySQL 语句
一.方法 一.假设你的表格有A.B.C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1.col2.col3 二.在你的表格中增加一列,利用excel的公式自动生成sql语句,具 ...
- MariaDB报错Plugin 'InnoDB' init function returned error.解决方案
重新安装MariaDB后,服务一直启动不起来,查看日志有以下错误: InnoDB: No valid checkpoint found. InnoDB: If you are attempting d ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- Anaconda3 tensorflow安装 及ModuleNotFoundError: No module named 'tensorflow' 解答
Anaconda3 的安装,参考:手把手教你如何安装Tensorflow(Windows和Linux两种版本) tensorflow的安装,参考:深度学习(TensorFlow)环境搭建:(三)Ubu ...
- 取消layUI中日期选择控件默认填充日期
input标签中使用日期选择控件填写,加载时默认填充当前日期, 标签设置了placeholder="请选择" autocomplete="off",但是并没有效 ...
- win10,vs2017+mpi v10.0 安装与入门 (详细)
一.安装visual studio 2017 下载 地址:https://visualstudio.microsoft.com/zh-hans/vs/ 安装 我们再选择自己想要安装的东西,确认好后点 ...
- (57)Wangdao.com第九天_JavaScript 对象的简介及分类
对象 引用数据类型. 对象是一种复合的数据类型,可以存储多个不同类型的变量. 以后我们看到的,只要不是String.Number.Boolean.Null.Undefined,那么就一定是 Objec ...