C# LINQ Join两个表连接,关联多个条件的写法
---
#### 1、sql语句:
```sql
select * from Users u join Teachers t
on u.UserID==t.TeacherID and u.Name=t.Name
```
#### 2、linq写法:
1)、方法一:
将多个字段的比较,new 一个对象进行比较;
注意:对象的属性名要保持一致;
```csharp
var userInfos = from u in db.Users join t in db.Teachers
on new { u.UserID , u.Name } equals new { UserID = t.TeacherID,t.Name }
select new { ID=u.UserID, t.Name };
```
2)、方法二:
```csharp
var userInfos = from u in db.Users
from t in db.Teachers
where u.UserID == t.TeacherID && u.Name == t.Name
select new { ID=u.UserID, t.Name };
```
---
作者:willingtolove
出处:http://www.cnblogs.com/willingtolove/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。