mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
Add unit test
This commit is contained in:
parent
1b7fce8a7f
commit
2850b3d1a8
@ -120,6 +120,7 @@
|
|||||||
<Compile Include="Models\Unit\Custom1\PurchaseDetailModel.cs" />
|
<Compile Include="Models\Unit\Custom1\PurchaseDetailModel.cs" />
|
||||||
<Compile Include="Models\ViewOrder.cs" />
|
<Compile Include="Models\ViewOrder.cs" />
|
||||||
<Compile Include="Demo\DemoJ_Report.cs" />
|
<Compile Include="Demo\DemoJ_Report.cs" />
|
||||||
|
<Compile Include="UnitTest\SubToList002.cs" />
|
||||||
<Compile Include="UnitTest\UnitDateTimeOffset.cs" />
|
<Compile Include="UnitTest\UnitDateTimeOffset.cs" />
|
||||||
<Compile Include="UnitTest\UinitCustomConvert.cs" />
|
<Compile Include="UnitTest\UinitCustomConvert.cs" />
|
||||||
<Compile Include="UnitTest\Unitadsfasf1.cs" />
|
<Compile Include="UnitTest\Unitadsfasf1.cs" />
|
||||||
|
@ -31,6 +31,8 @@ namespace OrmTest
|
|||||||
}
|
}
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
|
UnitSubToList002.Init();
|
||||||
|
UnitSubToList002.Init();
|
||||||
UnitDateTimeOffset.Init();
|
UnitDateTimeOffset.Init();
|
||||||
UinitCustomConvert.Init();
|
UinitCustomConvert.Init();
|
||||||
Unitadsfasf1.Init();
|
Unitadsfasf1.Init();
|
||||||
|
149
Src/Asp.Net/MySqlTest/UnitTest/SubToList002.cs
Normal file
149
Src/Asp.Net/MySqlTest/UnitTest/SubToList002.cs
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace OrmTest
|
||||||
|
{
|
||||||
|
|
||||||
|
public class UnitSubToList002
|
||||||
|
{
|
||||||
|
public static void Init()
|
||||||
|
{
|
||||||
|
var db = NewUnitTest.Db;
|
||||||
|
var queryable = db.Queryable<Journal>();
|
||||||
|
var abc = queryable
|
||||||
|
.Select(j => new SolrJournalOut
|
||||||
|
{
|
||||||
|
Id = j.Id.SelectAll(),
|
||||||
|
|
||||||
|
Languages = SqlFunc.Subqueryable<Language>().LeftJoin<JournalLanguage>((l, jl) => l.Id == jl.LanguageId).Where((l, jl) => jl.JournalId == j.Id).ToList(l => l.Name),
|
||||||
|
|
||||||
|
Subjects = SqlFunc.Subqueryable<Subject>().LeftJoin<JournalSubject>((s, js) => s.Id == js.SubjectId).Where((s, js) => js.JournalId == j.Id).ToList(s => s.Name),
|
||||||
|
});
|
||||||
|
var a = abc.ToSqlString();
|
||||||
|
if (a != "SELECT *,`j`.`Id` as app_ext_col_0 FROM `Journal` `j` ")
|
||||||
|
{
|
||||||
|
throw new Exception("unit error");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class Journal
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 非自增ID
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
[Navigate(typeof(JournalLanguage), nameof(JournalLanguage.JournalId), nameof(JournalLanguage.LanguageId))]
|
||||||
|
public List<Language> Languages { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToMany, nameof(JournalLanguage.JournalId))]
|
||||||
|
public ICollection<JournalLanguage> JournalLanguages { get; set; }
|
||||||
|
|
||||||
|
[Navigate(typeof(JournalSubject), nameof(JournalSubject.JournalId), nameof(JournalSubject.SubjectId))]
|
||||||
|
public List<Subject> Subjects { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToMany, nameof(JournalSubject.JournalId))]
|
||||||
|
public List<JournalSubject> JournalSubjects { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class JournalLanguage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 非自增ID
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
public long JournalId { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToOne, nameof(JournalId))]//一对一
|
||||||
|
public Journal Journal { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public long LanguageId { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToOne, nameof(Language))]//一对一
|
||||||
|
public Language Language { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class JournalSubject
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 非自增ID
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public long JournalId { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToOne, nameof(JournalId))]//一对一
|
||||||
|
public Journal Journal { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public long SubjectId { get; set; }
|
||||||
|
|
||||||
|
[Navigate(NavigateType.OneToOne, nameof(SubjectId))]//一对一
|
||||||
|
public Subject Subject { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Subject
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 非自增ID
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 名称
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
[MaxLength(500)]
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Language
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 非自增ID
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 名称
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class SolrJournalOut
|
||||||
|
{
|
||||||
|
|
||||||
|
public long Id { get; set; }
|
||||||
|
public List<string> Languages { get; set; }
|
||||||
|
public List<string> Subjects { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user