Example #1
0
        protected void PopulateOneToMany <TForeignEntity, TForeignEntityPrimaryKey>(
            Expression <Func <TForeignEntity, TPrimaryKey> > foreignKey,
            Expression <Func <TEntity, IList <TForeignEntity> > > foreignEntityCollection,
            params TEntity[] entities)
            where TForeignEntity : class, IIdentifier <TForeignEntityPrimaryKey>, new()
        {
            if (!entities.Any())
            {
                return;
            }

            var entityLoader = new OneToManyEntityLoader <TEntity, TPrimaryKey, TForeignEntity, TForeignEntityPrimaryKey>(
                CreateConnection,
                _queryBuilder,
                foreignKey,
                foreignEntityCollection);

            entityLoader.Populate(entities);
        }
        protected async Task PopulateOneToManyAsync <TForeignEntity, TForeignEntityPrimaryKey>(
            Expression <Func <TForeignEntity, TPrimaryKey> > foreignKey,
            Expression <Func <TEntity, IList <TForeignEntity> > > foreignEntityCollection,
            params TEntity[] entities)
            where TForeignEntity : class, IIdentifier <TForeignEntityPrimaryKey>, new()
        {
            if (!entities.Any())
            {
                return;
            }

            var entityLoader = new OneToManyEntityLoader <TEntity, TPrimaryKey, TForeignEntity, TForeignEntityPrimaryKey>(
                CreateConnection,
                _queryBuilder,
                foreignKey,
                foreignEntityCollection);

            await entityLoader.PopulateAsync(entities).ConfigureAwait(false);
        }