我们经常使用的有两种:一是使用连接字符串,作为DataContext构造函数的参数:
Code2
public DataContext CreateDataContext()这里为了避免硬编码连接字符串,你也可以把连接字符串放在配置文件中。创建DataContext对象的第二种方式就是使用 IDbConnection对象作为DataContext构造函数的参数:
{
DataContext db = new DataContext(@"Server=Esint-lhj\Sql2005;User Id=sa;Password=sql2005;Database=MSPetShop4");
return db;
}
Code3:
public DataContext CreateDataContext()3. 创建强类型的DataContext
{
IDbConnection conn = new SqlConnection(@"Server=Esint-lhj\Sql2005;User Id=sa;Password=sql2005;Database=MSPetShop4");
DataContext db = new DataContext(conn);
return db;
}
虽然可以使用上面的两种方法来创建一个DataContext,但是在实际使用中,用的最多的还是创建强类型的DataContext,使用强类型的DataContext的好处是可以获取IDE的智能提示、使后面的使用代码更加优雅。如下示例代码创建一个强类型的DataContext:
Code4:
[Database(Name="Blog")]在Code4中创建了一个强类型BlogDataContext的同时,也在其中定义了一个Posts的属性,用来获取Blog数据库中所有Post的集合。这样,可以如下进行BlogDataContext的使用:
public class BlogDataContext : DataContext
{
public BlogDataContext()
: base(@"Server=Esint-lhj\Sql2005;User Id=sa;Password=sql2005;Database=Blog")
{
}
public Table<Post> Posts
{
get
{
return this.GetTable<Post>();
}
}
}
Code5:
public class Program并且获得很好的智能提示的支持,如下图所示:
{
static void Main(string[] args)
{
BlogDataContext db = new BlogDataContext();
IEnumerable<Post> posts = from p in db.Posts
orderby p.PubDate
select p;
}
}