在資料庫中經常用到聯表查詢,例如在同事查詢乙個使用者的金幣數和所擁有的裝備資訊。那麼金幣在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...