Beispiel #1
0
 public ModelFieldBinding <PropertyField, SqlStorageField <TEntity> > GetFieldBinding(SqlStorageField <TEntity> storageField)
 {
     return(FieldBindings.FirstOrDefault(q => q.TargetField.Equals(storageField)));
 }
Beispiel #2
0
        internal IEnumerable <(JoinBuilder <TEntity> Builder, IAliasIdentifier Alias)> CreateJoin(DataSchema dataSchema, SqlStorageField <TEntity> storageField,
                                                                                                  IAliasIdentifier tableIdentifier)
        {
            if (RequiredJoin != null)
            {
                foreach (var parentJoin in RequiredJoin.CreateJoin(dataSchema, storageField, tableIdentifier))
                {
                    yield return(parentJoin);
                }
            }

            var joinedDataModel = dataSchema.Sql.SqlEntities.FirstOrDefault(q => q.EntityType == EntityType);
            var leftIdentifier  = tableIdentifier;

            if (RequiredJoin != null)
            {
                leftIdentifier = new ImmutableIdentifier(RequiredJoin.JoinName);
            }
            var rightIdentifier = new ImmutableIdentifier(joinedDataModel.StorageModel.DefaultTableName);
            var aliasIdentifier = new ImmutableIdentifier(JoinName);

            var joinBuilder = CreateJoin(
                leftIdentifier,
                rightIdentifier,
                aliasIdentifier.AliasIdentifier
                );

            yield return(joinBuilder, aliasIdentifier);
        }