/// <summary> /// 初始化code first 2 /// </summary> /// <param name="list"></param> /// <param name="nameSpace">命名空间</param> /// <param name="dll">dll名称</param> public static void InstanceTable(string nameSpace, string dbKey = null, string dbFile = "db.json") { var projectName = Assembly.GetCallingAssembly().GetName().Name; var query = new DataQuery(); query.Config = DataConfig.Get(dbKey, projectName, dbFile); query.Key = dbKey; MapXml.CreateLogTable(query); var assembly = AppDomain.CurrentDomain.GetAssemblies().ToList().Find(a => a.FullName.Split(',')[0] == projectName); if (assembly == null) { assembly = Assembly.Load(projectName); } if (assembly != null) { assembly.ExportedTypes.ToList().ForEach(a => { var typeInfo = (a as TypeInfo); if (typeInfo.Namespace != null && typeInfo.Namespace == nameSpace) { BaseTable.Check(query, a.Name, typeInfo.DeclaredProperties.ToList(), typeInfo.GetCustomAttributes().ToList()); } }); } }
/// <summary> /// 初始化code first 2 /// </summary> /// <param name="list"></param> /// <param name="nameSpace">命名空间</param> /// <param name="dll">dll名称</param> public static void InstanceTable(string nameSpace, string dbKey = null, string dbFile = "db.json", string projectName = null) { var query = new DataQuery(); query.Config = DataConfig.Get(dbKey, projectName, dbFile); query.Key = dbKey; MapXml.CreateLogTable(query); AppDomain.CurrentDomain.GetAssemblies().ToList().ForEach(assembly => { try { assembly.ExportedTypes.ToList().ForEach(a => { var typeInfo = (a as TypeInfo); if (typeInfo.Namespace != null && typeInfo.Namespace == nameSpace && typeInfo.GetCustomAttribute <TableAttribute>() != null) { BaseTable.Check(query, a.Name, typeInfo.DeclaredProperties.ToList(), typeInfo.GetCustomAttributes().ToList()); } }); } catch (Exception ex) { } }); }