Beispiel #1
0
        public virtual void ProcessEntityTypeAdded(
            IConventionEntityTypeBuilder entityTypeBuilder,
            IConventionContext <IConventionEntityTypeBuilder> context)
        {
            Check.NotNull(entityTypeBuilder, nameof(entityTypeBuilder));

            var entityType = entityTypeBuilder.Metadata;
            var members    = entityType.GetRuntimeProperties().Values.Cast <MemberInfo>()
                             .Concat(entityType.GetRuntimeFields().Values);

            foreach (var member in members)
            {
                if (Attribute.IsDefined(member, typeof(NotMappedAttribute), inherit: true))
                {
                    entityTypeBuilder.Ignore(member.GetSimpleMemberName(), fromDataAnnotation: true);
                }
            }
        }
        /// <inheritdoc />
        public void ProcessEntityTypeAdded(
            IConventionEntityTypeBuilder entityTypeBuilder,
            IConventionContext <IConventionEntityTypeBuilder> context)
        {
            Check.NotNull(entityTypeBuilder, nameof(entityTypeBuilder));

            Type clrType = entityTypeBuilder.Metadata.ClrType;

            if (clrType == null)
            {
                return;
            }

            IEnumerable <MemberInfo> members = clrType.GetRuntimeProperties()
                                               .Cast <MemberInfo>()
                                               .Concat(clrType.GetRuntimeFields())
                                               .Where(memberInfo => memberInfo.IsDefined(typeof(BsonIgnoreAttribute), true));

            foreach (MemberInfo member in members)
            {
                entityTypeBuilder.Ignore(member.Name, fromDataAnnotation: true);
            }
        }