Add unit test

This commit is contained in:
sunkaixuan
2023-05-31 21:05:56 +08:00
parent 483e137027
commit c4469ad69e

View File

@@ -31,7 +31,7 @@ namespace OrmTest
db.Insertable(new OrderItem() { ItemId = 1, OrderId = 1, Price = 1 }).ExecuteCommand();
db.Insertable(new OrderItem() { ItemId = 3, OrderId = 3, Price = 3 }).ExecuteCommand();
db.Insertable(new OrderItem() { ItemId = 4, OrderId = 4, Price = 4 }).ExecuteCommand();
TestAutoDTO2();
TestAutoDto(db);
TestWhere(db);
TestJoin(db);
@@ -39,6 +39,79 @@ namespace OrmTest
TestJoin3(db);
TestJoin4(db);
}
public static void TestAutoDTO2()
{
var db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = Config.ConnectionString,
DbType = SqlSugar.DbType.SqlServer,
IsAutoCloseConnection = true,
InitKeyType = InitKeyType.Attribute,
});
db.DbMaintenance.CreateDatabase();
db.CodeFirst.InitTables<Demo_Comment>();
db.CodeFirst.InitTables<Demo_User>();
db.DbMaintenance.TruncateTable<Demo_Comment, Demo_User>();
db.Insertable(new Demo_Comment() { ArticleId = 100, UserId = 1, Content = "TEST" }).ExecuteCommand();
db.Insertable(new Demo_User() { Id = 1, NickName = "Lili", Password = "123" }).ExecuteCommand();
db.Aop.OnLogExecuting = (s, p) => Console.WriteLine(SqlSugar.UtilMethods.GetNativeSql(s, p));
var query = db.Queryable<Demo_Comment>()
.Where(u => u.ArticleId == 100)
.Select(u => new SysCommentOutput
{
SysUser = SqlFunc.Subqueryable<Demo_User>().Where(user => user.Id == u.UserId).First<SysUserOutput>(),
SysUsers = SqlFunc.Subqueryable<Demo_User>().Where(user => user.Id == u.UserId).ToList<SysUserOutput>()
}, true);
var list = query.ToList();
}
//评论表
public class Demo_Comment
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public long UserId { get; set; }
public long ArticleId { get; set; }
public string Content { get; set; }
}
//用户表
public class Demo_User
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public string NickName { get; set; }
public string Password { get; set; }
}
//评论输出
public class SysCommentOutput
{
public long UserId { get; set; }
public long ArticleId { get; set; }
public string Content { get; set; }
public SysUserOutput SysUser { get; set; }
public List<SysUserOutput> SysUsers { get; set; }
}
public class SysUserOutput
{
public long Id { get; set; }
public string NickName { get; set; }
}
private static void TestAutoDto(SqlSugarClient db)
{
Expression xx = null;