Update mongodb

This commit is contained in:
sunkaixuan 2025-06-12 15:19:50 +08:00
parent 3efd6ed7f9
commit e05b8c99e8
5 changed files with 83 additions and 1 deletions

View File

@ -1,5 +1,6 @@
using MongoDbTest;
//MongoDb还在开发中预计6月30号前可以使用
Cases.Init();
OrmTest.Init();
AdoTest.Init();
ExpTest.Init();

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace MongoDbTest
{
public class Cases
{
public static void Init()
{
SingleQuery.Init();
}
public static void ThrowUnitError()
{
throw new Exception("unit error");
}
}
}

View File

@ -0,0 +1,51 @@
using MongoDB.Bson.Serialization.IdGenerators;
using SqlSugar.MongoDb;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
using System.Text;
using System.Threading.Tasks;
namespace MongoDbTest
{
public class SingleQuery
{
public static void Init()
{
var db = DBHelper.DbHelper.GetNewDb();
db.DbMaintenance.TruncateTable<Student>();
db.DbMaintenance.TruncateTable<School>();
var schoolId = db.Insertable(new School() { Name = "XX大学" }).ExecuteReturnPkList<string>().First();
var studentId=db.Insertable(new Student() { Name = "jack",SchoolId= schoolId }).ExecuteReturnPkList<string>().First();
var studentData = db.Queryable<Student>().Where(it => it.Id == studentId).First();
var schoolData = db.Queryable<School>().Where(it => it.Id == schoolId).First();
if (studentData.Name != "jack" || schoolData.Name!= "XX大学") Cases.ThrowUnitError();
db.Insertable(new School() { Name = "zz大学" }).ExecuteCommand();
db.Insertable(new School() { Name = "yy大学" }).ExecuteCommand();
var tableCount = db.Queryable<School>().ToList().Count;
if(tableCount!=3) Cases.ThrowUnitError();
db.Insertable(new School() { Name = "zz大学" }).ExecuteCommand();
db.Insertable(new School() { Name = "yy大学" }).ExecuteCommand();
var count = 0;
var list = db.Queryable<School>().OrderBy(it=>it.Name).ToPageList(1,2,ref count);
if(count != 5||list.Count!=2) Cases.ThrowUnitError();
}
}
[SqlSugar.SugarTable("UnitStudent123131")]
public class Student : MongoDbBase
{
public string Name { get; set; }
public string SchoolId { get; set; }
}
[SqlSugar.SugarTable("UnitSchool123131")]
public class School : MongoDbBase
{
public string Name{ get; set; }
}
}

View File

@ -8,6 +8,10 @@ namespace SqlSugar.MongoDb
{
public class MongoDbQueryable<T> : QueryableProvider<T>
{
public override int Count()
{
return base.Count();
}
public override ISugarQueryable<T> With(string withString)
{
return this;

View File

@ -192,7 +192,12 @@ namespace SqlSugar.MongoDb
return sb.ToString();
}
public override string ToCountSql(string sql)
{
sql=sql.TrimEnd(']');
sql += "{ \"$count\": \"TotalCount\" }]";
return sql;
}
#endregion
#region Get SQL Partial