/// <summary> /// 异步执行一个查找单项的命令模型。 /// </summary> /// <typeparam name="TEntity">实体的数据类型。</typeparam> /// <typeparam name="TView">视图的数据类型。</typeparam> /// <param name="bus">命令总线。</param> /// <param name="keyName">主键的列名。可以为 null 值。</param> /// <param name="keyValue">主键的列值。</param> /// <param name="select">视图选择器。可以为 null 值,表示不采用匿名对象的方式。</param> /// <param name="tunnel">用于个性化表名和命令的暗道,可以为 null 值。</param> /// <returns>实体。</returns> public static Task <TView> FindOneAsync <TEntity, TView>(this ICommandBus bus, string keyName, object keyValue, Func <TEntity, TView> select, ICommandTunnel tunnel = null) => Filter(bus, DbExtensions.GetKeyValues <TEntity>(keyName, keyValue)).FindOneAsync(select, tunnel);
/// <summary> /// 异步执行一个查询主键是否存在的命令模型。 /// </summary> /// <typeparam name="TEntity">实体的数据类型。</typeparam> /// <param name="bus">命令总线。</param> /// <param name="keyName">主键的列名。</param> /// <param name="keyValue">主键的列值。</param> /// <param name="tunnel">用于个性化表名和命令的暗道,可以为 null 值。</param> /// <returns>表示数据是否存在。</returns> public static Task <bool> ExistsAsync <TEntity>(this ICommandBus bus, string keyName, object keyValue, ICommandTunnel tunnel = null) => Filter(bus, DbExtensions.GetKeyValues <TEntity>(keyName, keyValue)).ExistsAsync <TEntity>(tunnel);
/// <summary> /// 执行一个查找单项的命令模型。 /// </summary> /// <typeparam name="TEntity">实体的数据类型。</typeparam> /// <typeparam name="TView">视图的数据类型。</typeparam> /// <param name="bus">命令总线。</param> /// <param name="keyName">主键的列名。可以为 null 值。</param> /// <param name="keyValue">主键的列值。</param> /// <param name="tunnel">用于个性化表名和命令的暗道,可以为 null 值。</param> /// <returns>实体。</returns> public static TView FindOne <TEntity, TView>(this ICommandBus bus, string keyName, object keyValue, ICommandTunnel tunnel = null) => Filter(bus, DbExtensions.GetKeyValues <TEntity>(keyName, keyValue)).FindOne <TEntity, TView>(tunnel);