Browse Source

Add SqlFunc.GetRandom

pull/12/MERGE
610262374@qq.com 6 years ago
parent
commit
89c0e03975
  1. 6
      Src/Asp.Net/SqlServerTest/Config.cs
  2. 2
      Src/Asp.Net/SqlServerTest/Demos/1_Query.cs
  3. 5
      Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs
  4. 1
      Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/IDbMethods.cs
  5. 1
      Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs
  6. 2
      Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs

6
Src/Asp.Net/SqlServerTest/Config.cs

@ -8,8 +8,8 @@ namespace OrmTest
{
public class Config
{
public static string ConnectionString = "server=.;uid=sa;pwd=sasa;database=SqlSugar4XTest";
public static string ConnectionString2 = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST";
public static string ConnectionString3 = "server=.;uid=sa;pwd=sasa;database=sqlsugar4xtest";
public static string ConnectionString = "server=.;uid=sa;pwd=@jhl85661501;database=SqlSugar4XTest";
public static string ConnectionString2 = "server=.;uid=sa;pwd=@jhl85661501;database=SQLSUGAR4XTEST";
public static string ConnectionString3 = "server=.;uid=sa;pwd=@jhl85661501;database=sqlsugar4xtest";
}
}

2
Src/Asp.Net/SqlServerTest/Demos/1_Query.cs

@ -244,6 +244,8 @@ namespace OrmTest.Demo
var db = GetInstance();
var dbTime = db.GetDate();
var getAll = db.Queryable<Student>().Select<object>("*").ToList();
var getAll2 = db.Queryable<Student>().ToList();
var getRandomList = db.Queryable<Student>().OrderBy(it => SqlFunc.GetRandom()).ToList();
var getAllOrder = db.Queryable<Student>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
var getId = db.Queryable<Student>().Select(it => it.Id).ToList();
var getNew = db.Queryable<Student>().Where(it => it.Id == 1).Select(it => new { id = SqlFunc.IIF(it.Id == 0, 1, it.Id), it.Name, it.SchoolId }).ToList();

5
Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs

@ -325,6 +325,11 @@ namespace SqlSugar
return "GETDATE()";
}
public virtual string GetRandom()
{
return "NEWID()";
}
public virtual string CaseWhen(List<KeyValuePair<string, string>> sqls)
{
StringBuilder reslut = new StringBuilder();

1
Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/IDbMethods.cs

@ -59,5 +59,6 @@ namespace SqlSugar
string Pack(string sql);
string Null();
string GetDate();
string GetRandom();
}
}

1
Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs

@ -110,6 +110,7 @@ namespace SqlSugar
/// <returns></returns>
public static TResult GetSelfAndAutoFill<TResult>(TResult value) { throw new NotSupportedException("Can only be used in expressions"); }
public static DateTime GetDate() { throw new NotSupportedException("Can only be used in expressions"); }
public static string GetRandom() { throw new NotSupportedException("Can only be used in expressions"); }
/// <summary>
/// Subquery
/// </summary>

2
Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs

@ -504,6 +504,8 @@ namespace SqlSugar
return this.Context.DbMehtods.GetSelfAndAutoFill(model.Args[0].MemberValue.ObjToString(), this.Context.IsSingle);
case "GetDate":
return this.Context.DbMehtods.GetDate();
case "GetRandom":
return this.Context.DbMehtods.GetRandom();
default:
break;
}

Loading…
Cancel
Save