Lose.zhang 发表于 2012-10-25 00:33:56

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]
查看完整版本: LINQ-to-SQL那点事~线程共享的DbContext与私有的DbContext