SqlSugar/Src/Asp.NetCore2/MongoDbTest/UnitTest/QuerySelect.cs
2025-06-19 12:21:04 +08:00

115 lines
4.4 KiB
C#

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using MongoDbTest.DBHelper;
using SqlSugar.MongoDb;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MongoDbTest
{
public class QuerySelect
{
internal static void Init()
{
var db = DBHelper.DbHelper.GetNewDb();
db.CodeFirst.InitTables<Student>();
db.DbMaintenance.TruncateTable<Student>();
var dt = DateTime.Now;
var studentId = db.Insertable(new Student() { CreateDateTime=dt,Age=11, Name="a", SchoolId="aa" })
.ExecuteCommand();
var list=db.Queryable<Student>().Select(it => new
{
date=it.CreateDateTime.Date,
year=it.CreateDateTime.Year,
day=it.CreateDateTime.Day,
hour=it.CreateDateTime.Hour,
Minute = it.CreateDateTime.Minute,
month=it.CreateDateTime.Month,
Second=it.CreateDateTime.Second,
Week = it.CreateDateTime.DayOfWeek
}).ToList();
if (list.First().date != dt.Date) Cases.ThrowUnitError();
if (list.First().year != dt.Date.Year) Cases.ThrowUnitError();
if (list.First().month != dt.Date.Month) Cases.ThrowUnitError();
if (list.First().day != dt.Date.Day) Cases.ThrowUnitError();
if (list.First().hour != dt.Hour) Cases.ThrowUnitError();
if (list.First().Minute != dt.Minute) Cases.ThrowUnitError();
if (list.First().Second != dt.Second) Cases.ThrowUnitError();
if (list.First().Week != dt.DayOfWeek) Cases.ThrowUnitError();
var list2 = db.Queryable<Student>().Select(it => new
{
date = it.CreateDateTime.ToString("yyyy-MM-dd")
}).ToList();
if(list2.First().date!=dt.ToString("yyyy-MM-dd")) Cases.ThrowUnitError();
var list3 = db.Queryable<Student>().Select(it => new
{
date = it.Age.ToString(),
int32 = Convert.ToInt32(it.Age),
dateTime = Convert.ToDateTime(it.CreateDateTime),
}).ToList(); ;
var list4 = db.Queryable<Student>().Select(it => new
{
Day = it.CreateDateTime.AddDays(1),
Year = it.CreateDateTime.AddYears(1),
AddMonth = it.CreateDateTime.AddMonths(1)
}).ToList();
if (list4.First().Day.Date != dt.Date.AddDays(1)) Cases.ThrowUnitError();
if (list4.First().Year.Date != dt.Date.AddYears(1)) Cases.ThrowUnitError();
if (list4.First().AddMonth.Date != dt.Date.AddMonths(1)) Cases.ThrowUnitError();
var list5 = db.Queryable<Student>().Select(it => new
{
Day =2
}).ToList();
if (list5.First().Day!=2) Cases.ThrowUnitError();
var list6 = db.Queryable<Student>().Select(it => new Student()
{
Age = 2
}).ToList();
if (list6.First().Age != 2) Cases.ThrowUnitError();
var list7 = db.Queryable<Student>().Select(it => new Student()
{
Age = true?2:1
}).ToList();
if (list7.First().Age != 2) Cases.ThrowUnitError();
var list8 = db.Queryable<Student>().Select(it => new Student()
{
Age = true ? it.Age : it.Age
}).ToList();
if (list8.First().Age != 11) Cases.ThrowUnitError();
var list9 = db.Queryable<Student>().Select(it => new Student()
{
Age = it.Age>0 ? it.Age: 1,
}).ToList();
if (list9.First().Age != 11) Cases.ThrowUnitError();
var list10 = db.Queryable<Student>().Select(it => new
{
Age = it.Age > 0 ? it.Age : 1,
Age2 = it.Age < 0 ? it.Age : 1,
}).ToList();
if (list10.First().Age != 11) Cases.ThrowUnitError();
if (list10.First().Age2 != 1) Cases.ThrowUnitError();
}
[SqlSugar.SugarTable("UnitStudent1231sds3z1")]
public class Student : MongoDbBase
{
public string Name { get; set; }
public string SchoolId { get; set; }
public int Age { get; set; }
public DateTime CreateDateTime { get; set; }
}
}
}