mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 .First()/.FirstAsync() 指定字段查询的重载方法;
- 调整 FreeSql.Repository 直接引用 FreeSql.DbContext 内的仓储实现; - 补充 单独针对 MySql 枚举类型的单元测试;
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
	<PropertyGroup>
 | 
			
		||||
		<TargetFramework>netstandard2.0</TargetFramework>
 | 
			
		||||
		<Version>0.4.10</Version>
 | 
			
		||||
		<Version>0.4.11</Version>
 | 
			
		||||
		<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
 | 
			
		||||
		<Authors>YeXiangQin</Authors>
 | 
			
		||||
		<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,25 @@ namespace FreeSql {
 | 
			
		||||
		/// <returns></returns>
 | 
			
		||||
		List<TReturn> ToList<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
		Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// 执行SQL查询,返回指定字段的记录的第一条记录,记录不存在时返回 TReturn 默认值
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		/// <typeparam name="TReturn">返回类型</typeparam>
 | 
			
		||||
		/// <param name="select">选择列</param>
 | 
			
		||||
		/// <returns></returns>
 | 
			
		||||
		TReturn ToOne<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
		Task<TReturn> ToOneAsync<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// 执行SQL查询,返回指定字段的记录的第一条记录,记录不存在时返回 TReturn 默认值
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		/// <typeparam name="TReturn">返回类型</typeparam>
 | 
			
		||||
		/// <param name="select">选择列</param>
 | 
			
		||||
		/// <returns></returns>
 | 
			
		||||
		TReturn First<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
		Task<TReturn> FirstAsync<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// 返回即将执行的SQL语句
 | 
			
		||||
		/// </summary>
 | 
			
		||||
 
 | 
			
		||||
@@ -228,5 +228,13 @@ namespace FreeSql.Internal.CommonProvider {
 | 
			
		||||
		public bool Any(Expression<Func<T1, bool>> exp) => this.Where(exp).Any();
 | 
			
		||||
 | 
			
		||||
		public Task<bool> AnyAsync(Expression<Func<T1, bool>> exp) => this.Where(exp).AnyAsync();
 | 
			
		||||
 | 
			
		||||
		public TReturn ToOne<TReturn>(Expression<Func<T1, TReturn>> select) => this.Limit(1).ToList(select).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
		async public Task<TReturn> ToOneAsync<TReturn>(Expression<Func<T1, TReturn>> select) => (await this.Limit(1).ToListAsync(select)).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
		public TReturn First<TReturn>(Expression<Func<T1, TReturn>> select) => this.ToOne(select);
 | 
			
		||||
 | 
			
		||||
		public Task<TReturn> FirstAsync<TReturn>(Expression<Func<T1, TReturn>> select) => this.ToOneAsync(select);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user