LINQ有很多值得学习的地方,这里我们主要介绍LINQ检索数据,包括介绍通过LINQ检索数据库中Customers表City等于London的数据等方面。
LINQ检索数据
LINQ检索数据提供的语法结构与SQL比较接近,这让我们使用起来更加容易上手。Northwind.dbml自动包装了一个上下文对象 NorthwindDataContext类,其中包括了我们在Northwind数据库中要使用的所有实体类和存储过程映射方法,同时还提供了操作表数据的方法,使用时我们不需要去关心它是如何连接数据库并进行底层数据操作的。事实上,Northwind.dbml文件中已经包含了这些基础设施!使用记事本打开Northwind.dbml,可以发现这是一个纯粹的XML结构化文件,里面包含了数据库连接字符串和一些数据库实体类的映射关系,同时,Northwind.designer.cs文件中也做了很多基础性的工作,感兴趣的读者可以自行研究其中的代码,或许对解决实际问题有所帮助。本文在这里不对这个文件的具体结构作详细的解释。
下面的这个例子展示了通过LINQ检索数据库中Customers表City等于London的数据,并在Command窗口中打印出来。
- using (NorthwindDataContext context =new NorthwindDataContext())
- {
- var results = from curstomers in context.Customers
- where curstomers.City =="London"
- orderby curstomers.CompanyName
- select curstomers;
- foreach (var curstomers in results)
- {
- Console.WriteLine("Company is {0} and Contact is {1}",
- curstomers.CompanyName, curstomers.ContactName);
- }
- // Pause to see the output
- Console.ReadLine();
- }
【编辑推荐】