protected internal virtual Net.Vpc.Upa.Expressions.QueryStatement CreateViewQuery() /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Extensions.UnionEntityExtensionDefinition entityExtension = (Net.Vpc.Upa.Extensions.UnionEntityExtensionDefinition)GetDefinition(); Net.Vpc.Upa.Extensions.UnionQueryInfo queryInfo = entityExtension.GetQueryInfo(GetEntity()); updatableTables = new System.Collections.Generic.List <Net.Vpc.Upa.Entity>((queryInfo.GetEntities()).Count); foreach (string table in queryInfo.GetEntities()) { updatableTables.Add(GetPersistenceUnit().GetEntity(table)); } this.discriminator = queryInfo.GetDiscriminator(); string[] tabNames = new string[(updatableTables).Count]; for (int i = 0; i < tabNames.Length; i++) { tabNames[i] = updatableTables[i].GetName(); } viewFields = GetEntity().GetFieldNames(Net.Vpc.Upa.Impl.Util.Filters.Fields2.READ); viewFields.Remove(discriminator); fieldsMapping = (string[][])Net.Vpc.Upa.Impl.FwkConvertUtils.CreateMultiArray(typeof(string), (queryInfo.GetEntities()).Count, (viewFields).Count); for (int i = 0; i < tabNames.Length; i++) { for (int j = 0; j < (viewFields).Count; j++) { fieldsMapping[i][i] = queryInfo.GetFieldName(tabNames[i], viewFields[j], i, j); } } return(CreateViewQuery(GetEntity().GetName(), tabNames, discriminator, viewFields, fieldsMapping)); }
public DefaultUnionEntityExtensionDefinition(Net.Vpc.Upa.Extensions.UnionQueryInfo info) { this.info = info; }