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 ;
}
}
}