Esempio n. 1
0
        /// <summary>
        /// 设置内容模型字典
        /// </summary>
        /// <param name="assistat"></param>
        public static void SetModelDataDic(ObjectAssistant assistat)
        {
            if (assistat == null)
            {
                return;
            }
            ContentModelCollection cmc = ModelHelper.GetAllContentModel();

            foreach (ContentModel item in cmc)
            {
                ModelInfo info = ModelHelper.GetModelInfo(item.Name);
                foreach (var table in info.DataSet.Tables)
                {
                    ObjectManager om = new ObjectManager();
                    EntityObject  eo = new EntityObject();
                    eo.TypeForDT      = typeof(TableInfo);
                    eo.IdentityName   = "ID";
                    eo.IsDataTable    = true;
                    eo.PrimaryKeyName = "ID";
                    eo.TableName      = table.Name;
                    //亲,此处取的是内容模型的描述,不是写错了
                    eo.Description = item.Description;
                    Dictionary <string, Property> diccolumn = new Dictionary <string, Property>(StringComparer.OrdinalIgnoreCase);
                    foreach (var column in table.Columns)
                    {
                        Property pt = new Property();
                        pt.Description = column.Label;
                        pt.Field       = column.Name;
                        pt.Nullable    = column.Nullable;
                        pt.Size        = column.MaxLength;
                        pt.Name        = column.Name;
                        //pt.Type = column.DataType;
                        diccolumn.Add(column.Name, pt);
                    }

                    eo.PropertyDict = diccolumn;
                    om.CurObject    = eo;
                    DataBase db = new DataBase();
                    db.DbDriver         = assistat.GetDatabases()["We7.CMS.Common"].DbDriver;
                    db.Name             = assistat.GetDatabases()["We7.CMS.Common"].Name;
                    db.ConnectionString = assistat.GetDatabases()["We7.CMS.Common"].ConnectionString;
                    om.CurDatabase      = db;
                    om.ObjType          = eo.TypeForDT;
                    if (assistat.DicForTable().ContainsKey(table.Name)) //如果存在此KEY
                    {
                        assistat.DicForTable().Remove(table.Name);      //移除此项
                    }
                    if (!assistat.DicForTable().ContainsKey(table.Name))
                    {
                        assistat.DicForTable().Add(table.Name, om);                          //添加
                    }
                }
            }
        }
Esempio n. 2
0
        BaseConfigInfo LoadOldXMLConfig()
        {
            string          dbPath = Server.MapPath("~/app_data/db/");
            ObjectAssistant oa     = new ObjectAssistant();

            if (File.Exists(Path.Combine(dbPath, "cd.xml")))
            {
                oa.LoadOldDBConfig(Path.Combine(dbPath, "cd.xml"));
                Dictionary <string, IDatabase> databases = oa.GetDatabases();
                BaseConfigInfo bci = new BaseConfigInfo();
                bci.DBConnectionString = databases["We7.CMS.Common"].ConnectionString;
                bci.DBConnectionString = bci.DBConnectionString.ToLower().Replace(AppDomain.CurrentDomain.BaseDirectory.ToLower(), "{$App}\\");
                bci.DBDriver           = databases["We7.CMS.Common"].DbDriver.ToString();
                bci.DBType             = Installer.GetDBTypeFromDriver(databases["We7.CMS.Common"].DbDriver.ToString());
                return(bci);
            }
            return(null);
        }