LINQ-to-SQL那点事~线程共享的DbContext与私有的DbContext
在使用Linq to Sql做为底层ORM时,它为我们提供的数据上下文为DataContext对象,实现上我们通过拖动生成的DBML文件,它们都是继承自 System.Data.Linq.DataContext类型的,所以DataContext就是LINQ数据对象的基类,有时,我们可以通过这种类的多态性来动态创建DB的实例。在每个DataContext类中,它有几个实例的构造方法,用来让你创建DataContext的实例,如下:
1 /// <summary> 2 /// 使用默认的连接串创建实现(每拖一次数据库,就会产生一个连接串) 3 /// </summary> 4 public DataClasses1DataContext() : 5 base(global::test.Properties.Settings.Default.EEE114ConnectionString, mappingSource) 6 { 7 OnCreated(); 8 } 9 /// <summary>10 /// 使用指定的连接串,可能配置在config文件里11 /// </summary>12 /// <param name="connection"></param>13 public DataClasses1DataContext(string connection) : 14 base(connection, mappingSource)15 {16 OnCreated();17 }18 /// <summary>19 /// 使用使用了IDbConnection接口的对象创建实例20 /// </summary>21 /// <param name="connection"></param>22 public DataClasses1DataContext(System.Data.IDbConnection connection) : 23 base(connection, mappingSource)24 {25 OnCreated();26 }27 /// <summary>28 /// 使用连接串和数据库的映射文件来建立实例,mappingSource可能是一个XML文件29 /// </summary>30 /// <param name="connection"></param>31 /// <param name="mappingSource"></param>32 public DataClasses1DataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 33 base(connection, mappingSource)34 {35 OnCreated();36 }
页:
[1]