LINQ to Sql系列二 简单查询和联接查询
Jun 07, 2016 pm 05:44 PMLINQ to Sql系列二 简单查询和联接查询 这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果。使用了from…in…select语句,代码如下: SimpleQuery(){ using (L2SDBDataContext db = new L2
LINQ to Sql系列二 简单查询和联接查询
这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询)
单表查询需求是我们要输出TClass表中的结果。使用了from…in…select语句,代码如下:
SimpleQuery() { using (L2SDBDataContext db = new L2SDBDataContext()) { var query = from tc in db.TClasses { ClassID=tc.ClassID, ClassName=tc.ClassName }; Console.WriteLine(); int i = 1; foreach (var item in query) { Console.WriteLine(,i,item.ClassID,item.ClassName); i++; } } }
注意:这里没有用select tc,而是定义了一个新的匿名类型是因为性能的考虑,后面性能优化的部分会讲到。
输出结果:
多表查询,也可以称为联接查询,香港服务器,需要通过外键联接多张表才能查询到我们想要的结果,现在的需求是某个班级及这个班级相关学生的信息。实现这个需求有两种方法,网站空间,一种是内联接,另一种方法是外联接,下面是通过内联接查询的代码。
Query_InnerJoin() { using (L2SDBDataContext db = new L2SDBDataContext()) { var query = from s in db.TStudents join c in db.TClasses on s.ClassID equals c.ClassID { ClassID = s.ClassID, ClassName = c.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; foreach (var item in query) { Console.WriteLine(, item.ClassID, item.ClassName, item.Student.Name); } } }
运行结果:
外联接代码:
Query_OutJoin() { using (L2SDBDataContext db = new L2SDBDataContext()) { var query = from s in db.TStudents join c in db.TClasses on s.ClassID equals c.ClassID into gc from gci in gc.DefaultIfEmpty() { ClassID = s.ClassID, ClassName = gci.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; foreach (var item in query) { Console.WriteLine(, item.ClassID, item.ClassName, item.Student.Name); } } }
注意:outer join时必须将join后的表into到一个新的变量中,然后调用这个对象的DefaultIfEmpty方法。
运行结果与内联接相同。
posted on
,虚拟主机
人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











12306 過去のチケット購入記録の確認方法 過去のチケット購入記録の確認方法

Xiaomi 15シリーズの完全なコードネームが明らかに:Dada、Haotian、Xuanyuan

Oracle を使用してテーブルがロックされているかどうかをクエリするにはどうすればよいですか?

Huawei Mate 60シリーズ、新しいAI排除+イメージアップグレード、秋のプロモーションを楽しむのに最適な時期
