This commit is contained in:
28810 2019-04-24 16:35:35 +08:00
parent e2d33e943f
commit ddd5e81a67
3 changed files with 10 additions and 2 deletions

View File

@ -201,7 +201,7 @@ namespace FreeSql.Tests {
.Having(a => a.Count() > 0 && a.Avg(a.Key.mod4) > 0 && a.Max(a.Key.mod4) > 0)
.Having(a => a.Count() < 300 || a.Avg(a.Key.mod4) < 100)
.OrderBy(a => a.Key.tt2)
.OrderByDescending(a => a.Count()).ToSql(a => new { a.Key.mod4, a.Key.tt2 });
.OrderByDescending(a => a.Count()).ToSql(a => new { a.Key.mod4, a.Key.tt2, max = a.Max("a.id"), max2 = Convert.ToInt64("max(a.id)") });
var groupbysql2 = g.mysql.Select<TestInfo>().From<TestTypeInfo, TestTypeParentInfo>((s, b, c) => s
.Where(a => a.Id == 1)

View File

@ -345,6 +345,14 @@ namespace FreeSql.Internal {
return $"{tmpleft} {tmptryoper} {tmpright}";
}
if (callType.FullName.StartsWith("FreeSql.ISelectGroupingAggregate`")) {
//if (exp3.Type == typeof(string) && exp3.Arguments.Any() && exp3.Arguments[0].NodeType == ExpressionType.Constant) {
// switch (exp3.Method.Name) {
// case "Sum": return $"sum({(exp3.Arguments[0] as ConstantExpression)?.Value})";
// case "Avg": return $"avg({(exp3.Arguments[0] as ConstantExpression)?.Value})";
// case "Max": return $"max({(exp3.Arguments[0] as ConstantExpression)?.Value})";
// case "Min": return $"min({(exp3.Arguments[0] as ConstantExpression)?.Value})";
// }
//}
switch (exp3.Method.Name) {
case "Count": return "count(1)";
case "Sum": return $"sum({ExpressionLambdaToSql(exp3.Arguments[0], _tables, _selectColumnMap, getSelectGroupingMapString, tbtype, isQuoteName, isDisableDiyParse, style)})";

View File

@ -114,7 +114,7 @@ using (var uow = fsql.CreateUnitOfWork()) {
public class SongContext : DbContext {
public DbSet<Song> Songs { get; set; }
public DbSet<Song> Tags { get; set; }
public DbSet<Tag> Tags { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder builder) {
builder.UseFreeSql(fsql);