Example #1
0
        /// <summary>
        ///     根据元数据键值获取已生成的DbContext. 使用时请模块初始化时在数据库中
        ///     插入元数据地址。
        /// </summary>
        /// <typeparam name="T">DbContext的类型</typeparam>
        /// <param name="metadatakey">
        ///     元数据地址的键名。Key:Member
        ///     Value:metadata=res://*/Models.Member.csdl|res://*/Models.Member.ssdl|res://*/Models.Member.msl
        /// </param>
        /// <returns></returns>
        public static T GetDbContext <T>(string metadatakey) where T : DbContext
        {
            T   contexta     = null;
            var metadatainfo = DatabaseMetadataCache.Get(metadatakey);

            if (metadatainfo == null)
            {
                var manager = new DatabaseMetadataManager();
                metadatainfo = manager.GetMetadataInfo(metadatakey);
            }
            if (metadatainfo != null)
            {
                var path = string.Format("{0};{1};{2};", metadatainfo.Metadata, PROVIDER, metadatainfo.Connectionstring);
                contexta = (T)Activator.CreateInstance(typeof(T), path);
            }
            return(contexta);
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MySqlTableOrViewMetadata" /> class.
 /// </summary>
 /// <param name="metadataCache">The metadata cache.</param>
 /// <param name="name">The name.</param>
 /// <param name="isTable">if set to <c>true</c> is a table.</param>
 /// <param name="columns">The columns.</param>
 /// <param name="engine">The engine.</param>
 internal MySqlTableOrViewMetadata(DatabaseMetadataCache <MySqlObjectName, MySqlDbType> metadataCache, MySqlObjectName name, bool isTable, ColumnMetadataCollection <MySqlDbType> columns, string?engine) : base(metadataCache, name, isTable, columns)
 {
     Engine = engine;
 }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SqlServerTableOrViewMetadata{TDbType}" /> class.
 /// </summary>
 /// <param name="metadataCache">The metadata cache.</param>
 /// <param name="name">The name.</param>
 /// <param name="isTable">if set to <c>true</c> is a table.</param>
 /// <param name="columns">The columns.</param>
 /// <param name="hasTriggers">if set to <c>true</c> has triggers.</param>
 public SqlServerTableOrViewMetadata(DatabaseMetadataCache <SqlServerObjectName, TDbType> metadataCache, SqlServerObjectName name, bool isTable, ColumnMetadataCollection <TDbType> columns, bool hasTriggers) : base(metadataCache, name, isTable, columns)
 {
     HasTriggers = hasTriggers;
 }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TableOrViewMetadata{TObjectName, TDbType}"/> class.
 /// </summary>
 /// <param name="metadataCache">The metadata cache.</param>
 /// <param name="name">The name.</param>
 /// <param name="isTable">if set to <c>true</c> [is table].</param>
 /// <param name="columns">The columns.</param>
 public TableOrViewMetadata(DatabaseMetadataCache <TObjectName, TDbType> metadataCache, TObjectName name, bool isTable, ColumnMetadataCollection <TDbType> columns) : base(name.ToString() !, isTable, columns?.GenericCollection !)