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
,虚拟主机
Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com

12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze

Vollständige Codenamen der Xiaomi 15-Serie enthüllt: Dada, Haotian, Xuanyuan

So überprüfen Sie das Aktivierungsdatum auf einem Apple-Mobiltelefon
![Outlook besteht darauf, eine Verbindung herzustellen [Fix]](https://img.php.cn/upload/article/000/465/014/171029292689611.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Outlook besteht darauf, eine Verbindung herzustellen [Fix]

So konfigurieren Sie HAProxy für WebSocket-Verbindungen

Wie frage ich mit Oracle ab, ob eine Tabelle gesperrt ist?

Der beste Zeitpunkt, um die Huawei Mate 60-Serie, die neue KI-Eliminierung + Image-Upgrade zu kaufen und Herbstaktionen zu genießen
