C 系 常用的LinQ查詢表示式之join

2021-10-18 04:20:11 字數 947 閱讀 1087

在資料庫中經常用到聯表查詢,例如在同事查詢乙個使用者的金幣數和所擁有的裝備資訊。那麼金幣在user 表中,裝備資訊在equip表中,這時候熟悉sql 的話會想到join來聯表查詢。在linq中也可以通過join來做兩個集合聯合查詢。

首先建立兩個類 user 和equip類

使用者類

public class user

/// /// 暱稱

///

public string nickname

}

裝備類

public class equip

/// /// 使用者id

///

public int uid

/// /// 裝備名字

///

public string name

}

構造資料集合如下:

listuserlist = new list()

, new user()

};listequiplist = new list()

, new equip(),

new equip(),

new equip(),

};

查詢使用者id為1的所有裝備資訊

var ret = from u in userlist

join e in equiplist

on u.id equals e.uid

where u.id == 1

select e;

foreach (var item in ret)

結果:

id:101,uid:1,name:復活甲

id:103,uid:1,name:破軍

id:104,uid:1,name:反甲

C 系 常用的LinQ查詢表示式之where

msdn解釋 where 子句用於查詢表示式中,用於指定將在查詢表示式中返回資料來源中的哪些元素。它將乙個布林條件 謂詞 應用於每個源元素 由範圍變數引用 並返回滿足指定條件的元素。乙個查詢表示式可以包含多個where 子句,乙個子句可以包含多個謂詞子表示式。where子句根據之後的運算來選擇符合要...

查詢表示式 LINQ 簡介

在上兩篇我介紹了c 3.0新語特性和改進,這些新特性在我們編寫程式時為我們提供了非常大的幫助。從這篇開始,我們開始一起來 linq。linq是language integrated query的簡稱,它是整合在.net程式語言中的一種特性。已成為程式語言的乙個組成部分,在編寫程式時可以得到很好的編譯...

拼接linq查詢表示式

1 比如在做資料庫查詢時面對前端可能多樣的查詢條件是,有時拼接查詢條件能很方便的處理這種情況,如下 所示 public glistresultgetlist hashtable ht,int skip,int top if ht.contains roleid select select.and s...