SqlSugar/Src/Asp.Net/SqlServerTest/UnitTest/UCustom01.cs

105 lines
4.1 KiB
C#
Raw Normal View History

2021-12-24 20:11:23 +08:00
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public class UCustom01
{
public static void Init()
{
var db = new SqlSugarScope(new SqlSugar.ConnectionConfig()
{
ConnectionString = Config.ConnectionString,
DbType = DbType.SqlServer,
IsAutoCloseConnection = true
});
db.Aop.OnLogExecuted = (s, p) =>
{
Console.WriteLine(s);
};
//建表
if (!db.DbMaintenance.IsAnyTable("User_Test001", false))
{
db.CodeFirst.InitTables<User_Test001>();
}
if (!db.DbMaintenance.IsAnyTable("UserRole_Test001", false))
{
db.CodeFirst.InitTables<UserRole_Test001>();
}
//用例代码
var result = db.Queryable<User_Test001, UserRole_Test001>((u, ur) => new object[] {
JoinType.Left,u.ID==ur.UserID
}).Select((u, ur) => new
{
customName = SqlFunc.Subqueryable<User_Test001>().Where(s => s.UserName == u.UserName).Select(s => s.UserName+"")
}).ToPageList(1, 10);
2022-08-16 13:49:01 +08:00
db.CodeFirst.InitTables<BoolTest12313>();
var x1 = db.Queryable<BoolTest12313>().Where(it => it.IsDeleted && SqlFunc.HasValue(it.name) ).ToList();
var x2 = db.Queryable<BoolTest12313>().Where(it => it.IsDeleted && SqlFunc.HasValue(it.name)==true).ToList();
var x3 = db.Queryable<BoolTest12313>().Where(it =>true && SqlFunc.HasValue(it.name) == true).ToList();
var x4 = db.Queryable<BoolTest12313>().Where(it =>SqlFunc.HasValue(it.name) == true).ToList();
var x5 = db.Queryable<BoolTest12313>().Where(it => SqlFunc.HasValue(it.name) ).ToList();
var x6 = db.Queryable<BoolTest12313>().Select(it => new { x=SqlFunc.HasValue(it.name)}).ToList();
2022-08-25 00:21:21 +08:00
db.CurrentConnectionConfig.MoreSettings = new ConnMoreSettings()
{
IsWithNoLockQuery=true
};
var sql=db.Queryable<Order>().LeftJoin<Order>((z, y) => z.Id == y.Id).ToSql().Key;
if (!sql.Contains(SqlWith.NoLock)) { throw new Exception("unit error"); }
var sql2=db.SqlQueryable<Order>("select * from [Order]").With(SqlWith.Null).LeftJoin<OrderItem>((z, y) => z.Id == y.OrderId).ToSql().Key;
if (sql2.Contains(SqlWith.NoLock)) { throw new Exception("unit error"); }
2022-08-16 13:49:01 +08:00
db.DbMaintenance.DropTable("BoolTest12313");
2022-09-02 17:28:15 +08:00
string p1 = null;
var sql3=db.Queryable<Order>().Where(x => x.Name == p1).ToSql();
if (!sql3.Key.Contains("IS NULL ")) { throw new Exception("unit error"); };
db.Queryable<Order>().Where(x => x.Name == p1).First();
var sql31 = db.Queryable<Order>().Where(x => x.Name != p1).ToSql();
if (!sql31.Key.Contains(" IS NOT NULL ")) { throw new Exception("unit error"); };
db.Queryable<Order>().Where(x => x.Name != p1).First();
p1 = "";
var sql4 = db.Queryable<Order>().Where(x => x.Name == p1).ToSql();
if (!sql4.Key.Contains("@")) { throw new Exception("unit error"); };
var sql41 = db.Queryable<Order>().Where(x => x.Name != p1).ToSql();
if (!sql41.Key.Contains("@")) { throw new Exception("unit error"); };
2022-08-16 13:49:01 +08:00
}
2021-12-24 20:11:23 +08:00
2022-08-16 13:49:01 +08:00
public class BoolTest12313
{
public string name { get; set; }
public bool IsDeleted { get; set; }
public int xx { get; set; }
2021-12-24 20:11:23 +08:00
}
2022-08-16 13:49:01 +08:00
2021-12-24 20:11:23 +08:00
[SugarTable("unitUser_Test001")]
public class User_Test001
{
public int ID { get; set; }
public string UserName { get; set; }
}
[SugarTable("unitUserRole_Test001")]
public class UserRole_Test001
{
public int ID { get; set; }
public int UserID { get; set; }
}
}
}