コード例 #1
0
 private OeEntryFactory(IEdmEntitySetBase entitySet, OePropertyAccessor[] accessors,
                        IReadOnlyList <OeEntryFactory> navigationLinks, Func <Object, Object> linkAccessor)
     : this(entitySet, accessors)
 {
     NavigationLinks  = navigationLinks ?? Array.Empty <OeEntryFactory>();
     LinkAccessor     = linkAccessor;
     EqualityComparer = new Infrastructure.OeEntryEqualityComparer(GetKeyExpressions(entitySet, accessors));
 }
コード例 #2
0
 private OeEntryFactory(Type clrEntityType, IEdmEntitySetBase entitySet, OePropertyAccessor[] accessors,
                        IReadOnlyList <OeEntryFactory> navigationLinks, LambdaExpression linkAccessor)
     : this(clrEntityType, entitySet, accessors)
 {
     NavigationLinks  = navigationLinks ?? Array.Empty <OeEntryFactory>();
     LinkAccessor     = linkAccessor == null ? null : (Func <Object, Object>)linkAccessor.Compile();
     EqualityComparer = new Infrastructure.OeEntryEqualityComparer(GetKeyExpressions(entitySet, accessors));
     IsTuple          = GetIsTuple(linkAccessor);
 }
コード例 #3
0
        public OeEntryFactory(ref OeEntryFactoryOptions options)
            : this(options.EntitySet, options.Accessors, options.SkipTokenAccessors)
        {
            EdmNavigationProperty = options.EdmNavigationProperty;
            LinkAccessor          = options.LinkAccessor == null ? null : (Func <Object, Object>)options.LinkAccessor.Compile();
            NavigationLinks       = options.NavigationLinks ?? Array.Empty <OeEntryFactory>();
            NavigationSelectItem  = options.NavigationSelectItem;
            NextLink = options.NextLink;

            if (!options.NextLink)
            {
                EqualityComparer = new Infrastructure.OeEntryEqualityComparer(GetKeyExpressions(options.EntitySet, options.Accessors));
                IsTuple         |= GetIsTuple(options.LinkAccessor);
            }
        }