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)); }
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); }
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); } }