using Connected.Expressions.Collections; using System.Collections.ObjectModel; using System.Linq.Expressions; namespace Connected.Expressions; public sealed class ClientJoinExpression : DatabaseExpression { public ClientJoinExpression(ProjectionExpression projection, IEnumerable outerKey, IEnumerable innerKey) : base(DatabaseExpressionType.ClientJoin, projection.Type) { OuterKey = outerKey.ToReadOnly(); InnerKey = innerKey.ToReadOnly(); Projection = projection; } public ReadOnlyCollection OuterKey { get; } public ReadOnlyCollection InnerKey { get; } public ProjectionExpression Projection { get; } }