internal DynamicAttributedMetaModel(MappingSource mappingSource, Type contextType)
            {
                this.mappingSource = (DynamicMappingSource)mappingSource;
                var bf   = BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance;
                var args = new object[] { mappingSource, contextType };

                source = typeof(DataContext).Assembly.CreateInstance(TypeName, false, bf, null, args, CultureInfo.CurrentCulture, null) as MetaModel;
                Debug.Assert(source != null);
            }
 /// <summary>
 /// 初始化数据库上下文
 /// </summary>
 /// <param name="connectionString">数据库连接</param>
 /// <param name="mapping">动态DynamicMappingSource</param>
 public SqlDataContext(string connectionString, DynamicMappingSource mapping)
     : base(connectionString, mapping)
 {
     mapping.GetMetaTableName = delegate(Type type)
     {
         string         tableName;
         TableAttribute attr = type.GetCustomAttributes(typeof(TableAttribute), true).Single() as TableAttribute;
         tableName = attr.Name;
         if (!string.IsNullOrEmpty(this.TablePrefix))
         {
             tableName = this.TablePrefix + tableName;
         }
         return(tableName);
     };
 }