Exemple #1
0
        /// <summary>
        /// 根据id查询对象信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public virtual V SearchById(string id)
        {
            _logger.LogTrace($"根据ID查询对象(SearchById),对象类型为:[{typeof(V).FullName}]");
            //根据ID获取对象信息
            var info = _SearchById(id);

            // 如果查询不到数据,抛出404异常
            if (info == null)
            {
                _logger.LogWarning($"根据ID查询对象,无法找到数据。类型为:[{typeof(V).FullName}]\r\nid值:[{id}]");
                ApiException.ThrowEmptyData("无法找到您要的数据");
            }

            //返回
            V view = AutoMapper.Mapper.Map <V>(info);

            // 转换View后的事件处理
            OnSearchViewById?.Invoke(view);
            _logger.LogTrace($"根据ID查询对象,已获取对象。类型为:[{typeof(V).FullName}]\r\n对象值:[{view.ToJson()}]");
            return(view);
        }