示例#1
0
        private ManyToOneMapping CreateMapping(Member property)
        {
            var mapping = new ManyToOneMapping {
                Member = property
            };

            mapping.SetDefaultValue(x => x.Name, property.Name);
            mapping.SetDefaultValue(x => x.Class, new TypeReference(property.PropertyType));
            mapping.AddDefaultColumn(new ColumnMapping {
                Name = property.Name + "_id"
            });

            return(mapping);
        }
        ManyToOneMapping IManyToOneMappingProvider.GetManyToOneMapping()
        {
            var mapping = new ManyToOneMapping(attributes.CloneInner());

            mapping.ContainingEntityType = entity;
            mapping.Member = property;

            if (!mapping.IsSpecified("Name"))
            {
                mapping.Name = property.Name;
            }

            if (!mapping.IsSpecified("Class"))
            {
                mapping.SetDefaultValue(x => x.Class, new TypeReference(typeof(TOther)));
            }

            if (columns.Count == 0)
            {
                mapping.AddDefaultColumn(CreateColumn(property.Name + "_id"));
            }

            foreach (var column in columns)
            {
                var columnMapping = CreateColumn(column);

                mapping.AddColumn(columnMapping);
            }

            return(mapping);
        }
示例#3
0
 void InitialiseDefaults(Type containingEntityType, Member member)
 {
     mapping.ContainingEntityType = containingEntityType;
     mapping.Member = member;
     mapping.Name   = member.Name;
     mapping.SetDefaultValue(x => x.Class, new TypeReference(typeof(TOther)));
     mapping.AddDefaultColumn(CreateColumn(member.Name + "_id"));
 }
示例#4
0
        private ManyToOneMapping CreateMapping(Member member)
        {
            var mapping = new ManyToOneMapping {
                Member = member
            };

            mapping.SetDefaultValue(x => x.Name, member.Name);
            mapping.SetDefaultValue(x => x.Class, new TypeReference(member.PropertyType));
            mapping.AddDefaultColumn(new ColumnMapping {
                Name = member.Name + "_id"
            });

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

            return(mapping);
        }