BN089-BS开发框架MVC4版/source20131023/Zephyr.Net/Zephyr.Data/Command/Handlers/QueryCustomEntityHandler.cs

(完整代码) 876B

using System;

namespace Zephyr.Data
{
	internal class QueryCustomEntityHandler<TEntity> : IQueryTypeHandler<TEntity>
	{
		private readonly AutoMapper _autoMapper;
		private readonly DbCommandData _data;

		public QueryCustomEntityHandler(DbCommandData data)
		{
			_data = data;
			_autoMapper = new AutoMapper(_data, typeof(TEntity));
		}

		public bool IterateDataReader { get { return true; } }

		public object HandleType(Action<TEntity, IDataReader> customMapperReader, Action<TEntity, dynamic> customMapperDynamic)
		{
			var item = (TEntity)_data.Context.Data.EntityFactory.Create(typeof(TEntity));

			if (customMapperReader != null)
				customMapperReader(item, _data.Reader);
			else if (customMapperDynamic != null)
				customMapperDynamic(item, new DynamicDataReader(_data.Reader.InnerReader));
			else
				_autoMapper.AutoMap(item);

			return item;
		}
	}
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。