SqlSugar/OrmTest/UnitTest/Mapping .cs

47 lines
1.8 KiB
C#
Raw Normal View History

2017-05-15 20:44:06 +08:00
using OrmTest.Models;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest.UnitTest
{
2017-05-16 13:55:57 +08:00
public class Mapping:UnitTestBase
2017-05-15 20:44:06 +08:00
{
private Mapping() { }
public Mapping(int eachCount)
{
this.Count = eachCount;
}
public void Init() {
var db = GetInstance();
2017-05-23 07:20:58 +08:00
var t1= db.Queryable<Student>().Where(it=>it.Id==1).ToSql();
base.Check("SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent] WHERE ( [ID] = @Id0 ) ", null, t1.Key, null,"Mapping t1 error");
2017-05-17 16:28:50 +08:00
2017-05-23 07:20:58 +08:00
db.MappingColumns.Add("Id", "id", "School");
var t2 = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.SchoolId==sc.Id
})
.Where(st => st.Id == 1)
2017-05-26 01:23:54 +08:00
.Where((st,sc) => sc.Id == 1)
.Where((st,sc) => sc.Id == st.Id)
2017-05-23 07:20:58 +08:00
.GroupBy(st => st.Id)
2017-05-26 01:23:54 +08:00
.GroupBy((st,sc) => sc.Id).OrderBy(st => st.Id,OrderByType.Asc)
.Select((st,sc)=> new { stid=st.Id,scid=sc.Id}).ToSql();
2017-05-23 07:20:58 +08:00
base.Check(@"SELECT [st].[ID] AS [stid] , [sc].[id] AS [scid] FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] =[sc].[id]) WHERE ( [st].[ID] = @Id0 ) AND ( [sc].[id] = @Id1 ) AND ( [sc].[id] = [st].[ID] )GROUP BY [st].[ID],[sc].[id]ORDER BY [st].[ID] ASC ",
null, t2.Key, null, " Mapping t2 error");
2017-05-17 16:28:50 +08:00
var x2 = GetInstance();
2017-05-15 20:44:06 +08:00
}
public SqlSugarClient GetInstance()
{
2017-05-23 09:41:43 +08:00
SqlSugarClient db = new SqlSugarClient(new AttributeConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true, EntityNamespace= "OrmTest.Models" });
2017-05-15 20:44:06 +08:00
return db;
}
}
}