mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 04:35:29 +08:00
Update mongodb
This commit is contained in:
parent
3efd6ed7f9
commit
e05b8c99e8
@ -1,5 +1,6 @@
|
||||
using MongoDbTest;
|
||||
//MongoDb还在开发中预计6月30号前可以使用
|
||||
Cases.Init();
|
||||
OrmTest.Init();
|
||||
AdoTest.Init();
|
||||
ExpTest.Init();
|
||||
|
21
Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs
Normal file
21
Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs
Normal 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");
|
||||
}
|
||||
}
|
||||
}
|
51
Src/Asp.NetCore2/MongoDbTest/UnitTest/SingleQuery.cs
Normal file
51
Src/Asp.NetCore2/MongoDbTest/UnitTest/SingleQuery.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user