void SetDefaultAccess(Member member, IdMapping mapping) { var resolvedAccess = MemberAccessResolver.Resolve(member); if (resolvedAccess != Access.Property && resolvedAccess != Access.Unset) { // if it's a property or unset then we'll just let NH deal with it, otherwise // set the access to be whatever we determined it might be mapping.Set(x => x.Access, Layer.Defaults, resolvedAccess.ToString()); } if (member.IsProperty && !member.CanWrite) { mapping.Set(x => x.Access, Layer.Defaults, cfg.GetAccessStrategyForReadOnlyProperty(member).ToString()); } }
public void ShouldWriteTheGenerator() { var generatorMapping = new GeneratorMapping(); generatorMapping.Set(x => x.Class, Layer.Defaults, "Class"); var mapping = new IdMapping(); mapping.Set(x => x.Generator, Layer.Defaults, generatorMapping); writer.VerifyXml(mapping) .Element("generator").Exists(); }
public void Map(ClassMappingBase classMap, Member member) { if (!(classMap is ClassMapping)) { return; } var idMapping = new IdMapping { ContainingEntityType = classMap.Type }; var columnMapping = new ColumnMapping(); columnMapping.Set(x => x.Name, Layer.Defaults, member.Name); idMapping.AddColumn(Layer.Defaults, columnMapping); idMapping.Set(x => x.Name, Layer.Defaults, member.Name); idMapping.Set(x => x.Type, Layer.Defaults, new TypeReference(member.PropertyType)); idMapping.Member = member; idMapping.Set(x => x.Generator, Layer.Defaults, GetDefaultGenerator(member)); SetDefaultAccess(member, idMapping); ((ClassMapping)classMap).Set(x => x.Id, Layer.Defaults, idMapping); }
IdMapping IIdentityMappingProvider.GetIdentityMapping() { var mapping = new IdMapping(attributes.Clone()) { ContainingEntityType = entityType }; if (columns.Count > 0) { foreach (var column in columns) { var columnMapping = new ColumnMapping(columnAttributes.Clone()); columnMapping.Set(x => x.Name, Layer.Defaults, column); mapping.AddColumn(Layer.UserSupplied, columnMapping); } } else if (HasNameSpecified) { var columnMapping = new ColumnMapping(columnAttributes.Clone()); columnMapping.Set(x => x.Name, Layer.Defaults, name); mapping.AddColumn(Layer.Defaults, columnMapping); } if (member != null) { mapping.Set(x => x.Name, Layer.Defaults, name); } mapping.Set(x => x.Type, Layer.Defaults, new TypeReference(identityType)); if (GeneratedBy.IsDirty) { mapping.Set(x => x.Generator, Layer.UserSupplied, GeneratedBy.GetGeneratorMapping()); } return(mapping); }
public new void UnsavedValue(string unsavedValue) { mapping.Set(x => x.UnsavedValue, Layer.Conventions, unsavedValue); }