예제 #1
0
        public void Map(ClassMappingBase classMap, Member member)
        {
            if (!(classMap is ClassMapping))
            {
                return;
            }

            var idMapping = new IdMapping {
                ContainingEntityType = classMap.Type
            };

            idMapping.AddDefaultColumn(new ColumnMapping()
            {
                Name = member.Name
            });
            idMapping.Name   = member.Name;
            idMapping.Type   = new TypeReference(member.PropertyType);
            idMapping.Member = member;
            idMapping.SetDefaultValue("Generator", GetDefaultGenerator(member));

            if (member.IsProperty && !member.CanWrite)
            {
                idMapping.Access = cfg.GetAccessStrategyForReadOnlyProperty(member).ToString();
            }

            ((ClassMapping)classMap).Id = idMapping;
        }
        public void Map(ClassMappingBase classMap, Member property)
        {
            if (!(classMap is ClassMapping))
            {
                return;
            }

            var idMapping = new IdMapping {
                ContainingEntityType = classMap.Type
            };

            idMapping.AddDefaultColumn(new ColumnMapping()
            {
                Name = property.Name
            });
            idMapping.Name   = property.Name;
            idMapping.Type   = new TypeReference(property.PropertyType);
            idMapping.Member = property;
            idMapping.SetDefaultValue("Generator", GetDefaultGenerator(property));
            ((ClassMapping)classMap).Id = idMapping;
        }
예제 #3
0
        IdMapping IIdentityMappingProvider.GetIdentityMapping()
        {
            var mapping = new IdMapping(attributes.CloneInner())
            {
                ContainingEntityType = entityType
            };

            if (columns.Count > 0)
            {
                foreach (var column in columns)
                {
                    mapping.AddColumn(new ColumnMapping(columnAttributes.CloneInner())
                    {
                        Name = column
                    });
                }
            }
            else if (HasNameSpecified)
            {
                mapping.AddDefaultColumn(new ColumnMapping(columnAttributes.CloneInner())
                {
                    Name = name
                });
            }

            if (member != null)
            {
                mapping.Name = name;
            }
            mapping.SetDefaultValue("Type", new TypeReference(identityType));

            if (GeneratedBy.IsDirty)
            {
                mapping.Generator = GeneratedBy.GetGeneratorMapping();
            }

            return(mapping);
        }