使用LINQ to SQL查询SQL Server数据库中的数据,一般要为该数据库创建一个DBML文件,并为该数据库创建数据上下文类。在Visual Studio 2008中为LinqDB数据库创建DBML文件LinqDB.dbml,并创建数据上下文类LinqDBDataContext。其中,在Visual Studio 2008中查看LinqDB.dbml文件,如图所示。
LinqDB数据库的数据上下文类LinqDBDataContext继承于DataContext类,定义该类的程序代码如下:
[System.Data.Linq.Mapping.DatabaseAttribute(Name="LinqDB")]
public partial class LinqDBDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
……
#endregion
public LinqDBDataContext() :base(global::System.Configuration.ConfigurationManager.ConnectionStrings[
"LinqDBConnectionString"].ConnectionString, mappingSource){OnCreated();}
public LinqDBDataContext(string connection) : base(connection, mappingSource){OnCreated();}
public LinqDBDataContext(System.Data.IDbConnection connection) : base(connection, mappingSource)
{OnCreated();}
public LinqDBDataContext(string connection,
System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource)
{OnCreated();}
public LinqDBDataContext(System.Data.IDbConnection connection,
System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource)
{OnCreated();}
……
}
注意:本章节中的实例代码都使用LinqDB数据库。连接该数据库的字符串保存在Web.config配置文件中,获取该连接字符串的静态变量定义在LinqSystem类中。上述相应的程序代码如下。
<connectionStrings>
<add name="LinqDBConnectionString"
connectionString="Data Source=localhost;Initial Catalog=LinqDB;Persist Security Info=True;
User ID=sa;Password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
public class LinqSystem
{ ///获取连接字符串
public static string LinqDBConnectionString
= ConfigurationManager.ConnectionStrings["LinqDBConnectionString"].ConnectionString;
}
本小节介绍使用LINQ to SQL查询SQL Server数据库LinqDB中数据的方法,如简单查询、复杂查询、排序查询、聚合查询、分组查询等。