public string GenerateQueryColumnSync(EntityAttributeMapConfiguration configuration, string prefix)
        {
            StringBuilder strQuery = new StringBuilder();

            _entityAttributeMapConfigurationDetailStore.QueryAllByConfigurationIdSync(configuration.ID, (detail) =>
            {
                //为每个属性生成查询列,然后附加到strQuery
                strQuery.Append(string.Format("{0}.{1},", prefix, detail.DBColumnName));
            });

            if (strQuery.Length > 0)
            {
                strQuery.Remove(strQuery.Length - 1, 1);
            }

            return(strQuery.ToString());
        }
        public async Task <string> GenerateQueryColumn(EntityAttributeMapConfiguration configuration, string prefix)
        {
            StringBuilder strQuery = new StringBuilder();
            await _entityAttributeMapConfigurationDetailStore.QueryAllByConfigurationId(configuration.ID, async (detail) =>
            {
                //为每个属性生成查询列,然后附加到strQuery
                strQuery.Append(string.Format("{0}.{1} as {0}{1},", prefix, detail.DBColumnName));
                await Task.FromResult(0);
            });

            if (strQuery.Length > 0)
            {
                strQuery.Remove(strQuery.Length - 1, 1);
            }

            return(await Task.FromResult(strQuery.ToString()));
        }
        public void FillEntitySync(EntityAttributeMapConfiguration configuration, DbDataReader reader, string prefix, ModelBase entity)
        {
            _entityAttributeMapConfigurationDetailStore.QueryAllByConfigurationIdSync(configuration.ID, (detail) =>
            {
                //为每个属性赋值
                if (!_fillEntityServiceFactiories.TryGetValue(detail.AttributeType, out IFactory <IFillEntityService> serviceFactory))
                {
                    var fragment = new TextFragment()
                    {
                        Code = TextCodes.NotFoundFillEntityService,
                        DefaultFormatting = "类型为{0}的FillEntityService未找到",
                        ReplaceParameters = new List <object>()
                        {
                            detail.AttributeType
                        }
                    };

                    throw new UtilityException((int)Errors.NotFoundFillEntityService, fragment);
                }

                serviceFactory.Create().FillEntitySync(detail, reader, prefix, entity);
            });
        }
 public QueryResult <EntityAttributeMapConfigurationDetail> GetDetailsSync(EntityAttributeMapConfiguration configuration, int page, int pageSize)
 {
     return(_entityAttributeMapConfigurationDetailStore.QueryByPageSync(configuration.ID, page, pageSize));
 }
 public async Task <QueryResult <EntityAttributeMapConfigurationDetail> > GetDetails(EntityAttributeMapConfiguration configuration, int page, int pageSize)
 {
     return(await _entityAttributeMapConfigurationDetailStore.QueryByPage(configuration.ID, page, pageSize));
 }
 public void GetDetailsSync(EntityAttributeMapConfiguration configuration, Action <EntityAttributeMapConfigurationDetail> callback)
 {
     _entityAttributeMapConfigurationDetailStore.QueryAllByConfigurationIdSync(configuration.ID, callback);
 }
 public async Task GetDetails(EntityAttributeMapConfiguration configuration, Func <EntityAttributeMapConfigurationDetail, Task> callback)
 {
     await _entityAttributeMapConfigurationDetailStore.QueryAllByConfigurationId(configuration.ID, callback);
 }