public virtual bool Remove(TTargetEntity item) { // parameter bindings IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@JoinColumn", RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKey.Get(mappedBy)); parameters.Add("@InverseJoinColumn", RowDataGatewayRegistry <TTargetEntity> .GetRowDataGateway().PrimaryKey.Get(item)); // run command NonQueryResult result = SimpleQuery.ExecuteNonQuery(RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().DatabaseName, CommandType.Text, removeSql, removeParameterTemplates, parameters, false); // remove from collection bool removedItem = values.Remove(item); if (result.RowsAffected == 1) { if (removedItem) { return(true); } throw new DataException(SR.GetString(SR.ManyToMany_Db_Remove_NonMember)); } else if (result.RowsAffected == 0) { if (!removedItem) { return(false); } throw new DataException(SR.GetString(SR.ManyToMany_Collection_Remove_NonMember)); } else { throw new DataException(SR.GetString(SR.ManyToMany_Bad_Delete_Count, new object[] { result.RowsAffected, removedItem ? 1 : 0 })); } }
protected virtual string JoinStatement() { ColumnAttribute joinColumn = RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKeyColumn; ColumnAttribute inverseJoinColumn = RowDataGatewayRegistry <TTargetEntity> .GetRowDataGateway().PrimaryKeyColumn; return(GetRowDataGateway().JoinStatement(tableName, inverseJoinColumn.Name, joinColumn.Name)); }
public virtual void Clear() { // parameter bindings IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@JoinColumn", RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKey.Get(mappedBy)); // run command SimpleQuery.ExecuteNonQuery(RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().DatabaseName, CommandType.Text, clearSql, clearParameterTemplates, parameters, false); // update local collection values.Clear(); }
private void GenerateClearSql(out string text, out IList <IDataParameterTemplate> parameters) { ColumnAttribute joinColumn = RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKeyColumn; // command text StringBuilder sb = new StringBuilder(); sb.Append("DELETE FROM ").Append(tableName).Append(" WHERE "); sb.Append(joinColumn.Name).Append(" = @JoinColumn"); text = sb.ToString(); // parameter definitions parameters = new List <IDataParameterTemplate>(); parameters.Add(new DataParameterTemplate("@JoinColumn", joinColumn.DbType, joinColumn.Nullable)); }
public void SetValue(TTargetEntity value) { if (value == null) { RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().Member(memberName).Set(mappedBy, null); } else { TKeyType fk = (TKeyType)GetRowDataGateway().PrimaryKey.Get(value); RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().Member(memberName).Set(mappedBy, fk); } targetEntity = value; }
public virtual void Add(TTargetEntity item) { if (Contains(item)) { return; } // parameter bindings IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@JoinColumn", RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKey.Get(mappedBy)); parameters.Add("@InverseJoinColumn", RowDataGatewayRegistry <TTargetEntity> .GetRowDataGateway().PrimaryKey.Get(item)); // run command SimpleQuery.ExecuteNonQuery(RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().DatabaseName, CommandType.Text, addSql, addParameterTemplates, parameters, false); // add to collection values.Add(item); }
private void GenerateAddSql(out string text, out IList <IDataParameterTemplate> parameters) { ColumnAttribute joinColumn = RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKeyColumn; ColumnAttribute inverseJoinColumn = RowDataGatewayRegistry <TTargetEntity> .GetRowDataGateway().PrimaryKeyColumn; // command text StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO ").Append(tableName); sb.Append("(").Append(joinColumn.Name).Append(",").Append(inverseJoinColumn.Name).Append(")"); sb.Append(" VALUES (").Append("@JoinColumn").Append(",").Append("@InverseJoinColumn").Append(")"); text = sb.ToString(); // parameter definitions parameters = new List <IDataParameterTemplate>(); parameters.Add(new DataParameterTemplate("@JoinColumn", joinColumn.DbType, joinColumn.Nullable)); parameters.Add(new DataParameterTemplate("@InverseJoinColumn", inverseJoinColumn.DbType, inverseJoinColumn.Nullable)); }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (this == obj) { return(true); } if (!GetType().Equals(obj.GetType())) { return(false); } RowDataGateway <T> gateway = RowDataGatewayRegistry <T> .GetRowDataGateway(); object pk1 = gateway.PrimaryKey.Get(this); object pk2 = gateway.PrimaryKey.Get(obj); bool equals; if (pk1 == null) { if (pk2 == null) { equals = base.Equals(obj); } else { equals = false; } } else { if (pk2 == null) { equals = false; } else { equals = pk1.Equals(pk2); } } return(equals); }
private ICollection <TTargetEntity> Values() { if (select) { object value = RowDataGatewayRegistry <TMappedBy> .GetRowDataGateway().PrimaryKey.Get(mappedBy); if (value == null) { values = new List <TTargetEntity>(); } else { DbType type = GetRowDataGateway().PrimaryKeyColumn.DbType; values = Find(JoinStatement(), CreateBindingList("Value", value, type, false)); } select = false; } return(values); }
protected RowDataGateway <T> GetRowDataGateway() { return(RowDataGatewayRegistry <T> .GetRowDataGateway()); }
public override string ToString() { return(RowDataGatewayRegistry <T> .GetRowDataGateway().ToString(This)); }
public override int GetHashCode() { return(RowDataGatewayRegistry <T> .GetRowDataGateway().HashCode(This)); }
public void Save() { RowDataGatewayRegistry <T> .GetRowDataGateway().Save(This); }