private static ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty ConvertProperty(Dictionary<ArchAngel.Providers.EntityModel.Model.DatabaseLayer.IColumn, ArchAngel.Interfaces.Scripting.NHibernate.Model.IColumn> columnLookups, Property property, PropertyAccessTypes entityDefaultAccess) { ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty newProperty = new ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty() { Name = property.Name, Type = property.Type.Replace(SharedData.CurrentProject.GetUserOption("ProjectNamespace").ToString() + ".Model.", ""), IsInherited = property.IsInherited, IsSetterPrivate = (bool)SharedData.CurrentProject.GetUserOption("UsePrivateSettersOnProperties") || (bool)property.GetUserOptionValue("Property_UsePrivateSetter"), ScriptObject = property, IsKeyProperty = property.IsKeyProperty, PreviousNames = property.OldNames.ToList(), //Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), property.GetPropertyAccess().ToString(), true), Formula = property.GetPropertyFormula(), Insert = property.GetPropertyInsert(), Update = property.GetPropertyUpdate(), Generate = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyGeneratedTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyGeneratedTypes), property.GetPropertyGenerated().ToString(), true), IsVersionProperty = property.GetPropertyIsVersion(), IsNullable = IsTypeNullable(property.Type), TypeVB = ConvertTypeToVb(property.Type) }; string accessType = property.GetPropertyAccess().ToString(); if (accessType == PropertyAccessTypes.inherit_default.ToString()) newProperty.Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), entityDefaultAccess.ToString(), true); else newProperty.Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), accessType, true); ArchAngel.Providers.EntityModel.Model.DatabaseLayer.IColumn mappedColumn = property.MappedColumn(); if (mappedColumn != null) { newProperty.MappedColumn = columnLookups[mappedColumn]; newProperty.MappedColumnName = mappedColumn.Name; } //else //{ // List<Entity> children = property.Entity.Children.Where(c => EntityImpl.DetermineInheritanceTypeWithParent(c) == EntityImpl.InheritanceType.TablePerClassHierarchy).ToList(); // if (children.c) //} return newProperty; }