75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
| using System.Linq;
 | |
| using System.Threading;
 | |
| using System.Threading.Tasks;
 | |
| using Microsoft.EntityFrameworkCore;
 | |
| using System.Linq.Dynamic.Core;
 | |
| using System.Collections.Generic;
 | |
| 
 | |
| namespace IRaCIS.Core.Infrastructure.Extention
 | |
| {
 | |
|     public static class IQueryableExtensions
 | |
|     {
 | |
|        /// <summary>
 | |
|        /// 获取第一条 为null提示
 | |
|        /// </summary>
 | |
|        /// <typeparam name="TSource"></typeparam>
 | |
|        /// <param name="source"></param>
 | |
|        /// <returns></returns>
 | |
|        /// <exception cref="QueryBusinessObjectNotExistException"></exception>
 | |
|         public  static async Task<TSource> FirstNotNullAsync<TSource>(this IQueryable<TSource> source)
 | |
|         {
 | |
|             var result =await source.FirstOrDefaultAsync();
 | |
| 
 | |
|             if (result == null)
 | |
|             {
 | |
|                 throw new QueryBusinessObjectNotExistException($"The query object {typeof(TSource).Name} does not exist in database, Please check the query parameters");
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return result;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 查询字符串 为null 返回string.Empty
 | |
|         /// </summary>
 | |
|         /// <typeparam name="TSource"></typeparam>
 | |
|         /// <param name="source"></param>
 | |
|         /// <returns></returns>
 | |
|         public static  string FirstIsNullReturnEmpty(this IEnumerable<string> source)
 | |
|         {
 | |
|             var result =  source.FirstOrDefault();
 | |
| 
 | |
|             if (result == null || result == string.Empty)
 | |
|             {
 | |
|                 return string.Empty;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return result;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 查询字符串 为null 返回指定字符
 | |
|         /// </summary>
 | |
|         /// <typeparam name="TSource"></typeparam>
 | |
|         /// <param name="source"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string FirstIsNullReturnValue(this IEnumerable<string> source,string value)
 | |
|         {
 | |
|             var result = source.FirstOrDefault();
 | |
| 
 | |
|             if (result == null || result == string.Empty)
 | |
|             {
 | |
|                 return value;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return result;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 |