/// <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); //添加 } } } }
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); }