private List <string> CreateHbmFiles(string assemblyName) { var x = AppDomain.CurrentDomain.GetAssemblies().Single(a => a.FullName.StartsWith("ArchAngel.NHibernateHelper")); var utilityType = x.GetType("ArchAngel.NHibernateHelper.MappingFiles.Version_2_2.Utility"); var method = utilityType.GetMethod("CreateMappingXMLFrom"); List <string> files = new List <string>(); var provider = (ProviderInfo)ArchAngel.Interfaces.SharedData.CurrentProject.Providers.Single(p => p.Name == "Entity Provider"); foreach (var entity in provider.MappingSet.EntitySet.Entities) { // Parameters string entityNamespace = assemblyName.Split('.')[0]; bool autoImport = false; ArchAngel.Interfaces.NHibernateEnums.TopLevelAccessTypes defaultAccess = Interfaces.NHibernateEnums.TopLevelAccessTypes.property; ArchAngel.Interfaces.NHibernateEnums.TopLevelCascadeTypes defaultCascade = Interfaces.NHibernateEnums.TopLevelCascadeTypes.all; bool defaultLazy = true; string xml = (string)method.Invoke(null, new object[] { entity, assemblyName, entityNamespace, autoImport, defaultAccess, defaultCascade, defaultLazy }); //files.Add(xml); //xml = xml.Replace(string.Format(@"assembly=""{0}""", assemblyName), ""); string filename = Path.Combine(ArchAngel.Interfaces.SharedData.CurrentProject.TempFolder, Path.GetFileNameWithoutExtension(Path.GetTempFileName()) + ".hbm.xml"); File.WriteAllText(filename, xml, new System.Text.UTF8Encoding(false)); files.Add(filename); } return(files); }
public static void SetProjectDefaultAccess(this IWorkbenchProject project, ArchAngel.Interfaces.NHibernateEnums.TopLevelAccessTypes access) { project.SetUserOption("DefaultAccess", access); }