在使用Linq to Sql做为底层ORM时,它为我们提供的数据上下文为DataContext对象,实现上我们通过拖动生成的DBML文件,它们都是继承自 System.Data.Linq.DataContext类型的,所以DataContext就是LINQ数据对象的基类,有时,我们可以通过这种类的多态性来动态创建DB的实例。
在每个DataContext类中,它有几个实例的构造方法,用来让你创建DataContext的实例,如下:
- /// <summary>
- /// 使用默认的连接串创建实现(每拖一次数据库,就会产生一个连接串)
- /// </summary>
- public DataClasses1DataContext() :
- base(global::test.Properties.Settings.Default.EEE114ConnectionString, mappingSource)
- {
- OnCreated();
- }
- /// <summary>
- /// 使用指定的连接串,可能配置在config文件里
- /// </summary>
- /// <param name="connection"></param>
- public DataClasses1DataContext(string connection) :
- base(connection, mappingSource)
- {
- OnCreated();
- }
- /// <summary>
- /// 使用使用了IDbConnection接口的对象创建实例
- /// </summary>
- /// <param name="connection"></param>
- public DataClasses1DataContext(System.Data.IDbConnection connection) :
- base(connection, mappingSource)
- {
- OnCreated();
- }
- /// <summary>
- /// 使用连接串和数据库的映射文件来建立实例,mappingSource可能是一个XML文件
- /// </summary>
- /// <param name="connection"></param>
- /// <param name="mappingSource"></param>
- public DataClasses1DataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
- base(connection, mappingSource)
- {
- OnCreated();
- }
而