public EntityExpression(Type type, PrimaryKeyExpression externalId, Alias tableAlias, IEnumerable <FieldBinding> bindings, IEnumerable <MixinEntityExpression> mixins, bool avoidExpandOnRetrieving) : base(DbExpressionType.Entity, type) { if (type == null) { throw new ArgumentNullException("type"); } if (!type.IsEntity()) { throw new ArgumentException("type"); } if (externalId == null) { throw new ArgumentNullException("externalId"); } this.Table = Schema.Current.Table(type); this.ExternalId = externalId; this.TableAlias = tableAlias; this.Bindings = bindings.ToReadOnly(); this.Mixins = mixins.ToReadOnly(); this.AvoidExpandOnRetrieving = avoidExpandOnRetrieving; }
public AdditionalFieldExpression(Type type, PrimaryKeyExpression backID, IntervalExpression?externalPeriod, PropertyRoute route) : base(DbExpressionType.AdditionalField, type) { this.BackID = backID; this.Route = route; this.ExternalPeriod = externalPeriod; }
public MListExpression(Type type, PrimaryKeyExpression backID, IntervalExpression?externalPeriod, TableMList tr) : base(DbExpressionType.MList, type) { this.BackID = backID; this.ExternalPeriod = externalPeriod; this.TableMList = tr; }
public MListElementExpression(PrimaryKeyExpression rowId, EntityExpression parent, Expression order, Expression element, TableMList table) : base(DbExpressionType.MListElement, typeof(MListElement <,>).MakeGenericType(parent.Type, element.Type)) { this.RowId = rowId; this.Parent = parent; this.Order = order; this.Element = element; this.Table = table; }
public TypeImplementedByAllExpression(PrimaryKeyExpression typeColumn) : base(DbExpressionType.TypeImplementedByAll, typeof(Type)) { if (typeColumn == null) { throw new ArgumentException("typeId"); } this.TypeColumn = typeColumn; }
protected internal virtual Expression VisitPrimaryKey(PrimaryKeyExpression pk) { var e = Visit(pk.Value); if (e == pk.Value) { return(pk); } return(new PrimaryKeyExpression(e)); }
public MListElementExpression(PrimaryKeyExpression rowId, EntityExpression parent, Expression?order, Expression element, IntervalExpression?systemPeriod, TableMList table, Alias alias) : base(DbExpressionType.MListElement, typeof(MListElement <,>).MakeGenericType(parent.Type, element.Type)) { this.RowId = rowId; this.Parent = parent; this.Order = order; this.Element = element; this.TablePeriod = systemPeriod; this.Table = table; this.Alias = alias; }
public TypeEntityExpression(PrimaryKeyExpression externalId, Type typeValue) : base(DbExpressionType.TypeEntity, typeof(Type)) { if (externalId == null) { throw new ArgumentException("externalId"); } if (typeValue == null) { throw new ArgumentException("typeValue"); } this.TypeValue = typeValue; this.ExternalId = externalId; }
public EntityExpression(Type type, PrimaryKeyExpression externalId, Alias tableAlias, IEnumerable<FieldBinding> bindings, IEnumerable<MixinEntityExpression> mixins, bool avoidExpandOnRetrieving) : base(DbExpressionType.Entity, type) { if (type == null) throw new ArgumentNullException("type"); if (!type.IsEntity()) throw new ArgumentException("type"); if (externalId == null) throw new ArgumentNullException("externalId"); this.Table = Schema.Current.Table(type); this.ExternalId = externalId; this.TableAlias = tableAlias; this.Bindings = bindings.ToReadOnly(); this.Mixins = mixins.ToReadOnly(); this.AvoidExpandOnRetrieving = avoidExpandOnRetrieving; }
protected internal override Expression VisitPrimaryKey(PrimaryKeyExpression pk) { var val = Visit(pk.Value); return(Expression.Call(miWrap, Expression.Convert(val, typeof(IComparable)))); }
public AdditionalFieldExpression(Type type, PrimaryKeyExpression backID, PropertyRoute route) : base(DbExpressionType.AdditionalField, type) { this.BackID = backID; this.Route = route; }
public EntityContextInfo(PrimaryKeyExpression entityId, PrimaryKeyExpression?mlistRowId) { EntityId = entityId; MListRowId = mlistRowId; }
public MListElementExpression(PrimaryKeyExpression rowId, EntityExpression parent, Expression order, Expression element, TableMList table) : base(DbExpressionType.MListElement, typeof(MListElement<,>).MakeGenericType(parent.Type, element.Type)) { this.RowId = rowId; this.Parent = parent; this.Order = order; this.Element = element; this.Table = table; }
public TypeImplementedByAllExpression(PrimaryKeyExpression typeColumn) : base(DbExpressionType.TypeImplementedByAll, typeof(Type)) { if (typeColumn == null) throw new ArgumentException("typeId"); this.TypeColumn = typeColumn; }
protected virtual bool ComparePrimaryKey(PrimaryKeyExpression a, PrimaryKeyExpression b) { return(Compare(a.Value, b.Value)); }
static Expression NotEqualToNull(PrimaryKeyExpression exp) { return NotEqualNullable(exp.Value, new SqlConstantExpression(null, exp.ValueType)); }
public MListExpression(Type type, PrimaryKeyExpression backID, TableMList tr) : base(DbExpressionType.MList, type) { this.BackID = backID; this.TableMList = tr; }
static Expression NotEqualToNull(PrimaryKeyExpression exp) { return(NotEqualNullable(exp.Value, new SqlConstantExpression(null, exp.ValueType))); }
public TypeEntityExpression(PrimaryKeyExpression externalId, Type typeValue) : base(DbExpressionType.TypeEntity, typeof(Type)) { if (externalId == null) throw new ArgumentException("externalId"); if (typeValue == null) throw new ArgumentException("typeValue"); this.TypeValue = typeValue; this.ExternalId = externalId; }