예제 #1
0
 private void SetupStandardFields(List<string> fieldsList, IJoinRepositoryPlugin jrep)
 {
     for (int fld = 0; fld < jrep.UpdatableFields.Count; fld++)
     {
         fieldsList.Add(TableName + "." + jrep.UpdatableFields[fld]);
     }
 }
예제 #2
0
        private void SetupJoins(QueryObject queryObject, List<string> joinsList, List<string> fieldsList,
            IJoinRepositoryPlugin jrep)
        {
            var results = new List<string>();
            for (int fld = 0; fld < jrep.JoinableFields.Count; fld++)
            {
                string fieldOnRemote = jrep.JoinableFields[fld];
                string fieldOnLocal = jrep.JoinableFieldsLocal[fld];
                if (!queryObject.ForceSelectField)
                    fieldsList.Add(TableName + "." + fieldOnLocal);
                results.Add(TableName + "." + fieldOnLocal + "=" + jrep.JoinedRepository.TableName + "." + fieldOnRemote);
            }
            joinsList.Add(jrep.JoinedRepository.TableName + " ON (" + string.Join(" AND ", results) + ")");

            for (int fld = 0; fld < jrep.JoinedRepository.SelectableFields.Count; fld++)
            {
                fieldsList.Add(jrep.JoinedRepository.TableName + "." +
                               jrep.JoinedRepository.SelectableFields[fld] + " AS " +
                               jrep.JoinedRepository.TableName + "_" +
                               jrep.JoinedRepository.SelectableFields[fld]);
            }
        }