mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
## v0.5.3
- 增加 ISelect.ToList(true) 自动贪婪加载 LeftJoin/InnerJoin/RightJoin 导航数据;#35 - 增加 IAdo.Query<T1, T2 ...> 多结果集查询; - 增加 IAdo.ExecuteDataSet 多结果集查询; - 优化 未设置实体属性 set 的将被自动过滤 IsIgnore;
This commit is contained in:
@ -1,26 +1,26 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.0" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.0" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
|
||||
<PackageReference Include="FreeSql.DbContext" Version="0.5.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\FreeSql.DbContext\FreeSql.DbContext\FreeSql.DbContext.csproj" />
|
||||
<ProjectReference Include="..\FreeSql\FreeSql.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FreeSql\FreeSql.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="DataAnnotations\MySql\" />
|
||||
<Folder Include="DataAnnotations\SqlServer\" />
|
||||
<Folder Include="DataContext\MySql\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="DataAnnotations\MySql\" />
|
||||
<Folder Include="DataAnnotations\SqlServer\" />
|
||||
<Folder Include="DataContext\MySql\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -239,6 +239,9 @@ namespace FreeSql.Tests.MySql {
|
||||
g.mysql.Insert<TestGuidIdToList>().AppendData(new TestGuidIdToList()).ExecuteAffrows();
|
||||
var testGuidId5 = g.mysql.Select<TestGuidIdToList>().ToList();
|
||||
var testGuidId6 = g.mysql.Select<TestGuidIdToList>().ToList(a => a.id);
|
||||
|
||||
var t11 = select.Where(a => a.Type.Name.Length > 0).ToList(true);
|
||||
var t21 = select.Where(a => a.Type.Parent.Name.Length > 0).ToList(true);
|
||||
}
|
||||
class TestGuidIdToList {
|
||||
public Guid id { get; set; }
|
||||
|
@ -40,6 +40,11 @@ namespace FreeSql.Tests.MySql {
|
||||
var t5 = g.mysql.Ado.Query<dynamic>("select * from song");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void QueryMultipline() {
|
||||
var t3 = g.mysql.Ado.Query<xxx, (int, string, string), dynamic>("select * from song; select * from song; select * from song");
|
||||
}
|
||||
|
||||
class xxx {
|
||||
public int Id { get; set; }
|
||||
public string Path { get; set; }
|
||||
|
@ -149,6 +149,9 @@ namespace FreeSql.Tests.Oracle {
|
||||
g.oracle.Insert<TestGuidIdToList>().AppendData(new TestGuidIdToList()).ExecuteAffrows();
|
||||
var testGuidId5 = g.oracle.Select<TestGuidIdToList>().ToList();
|
||||
var testGuidId6 = g.oracle.Select<TestGuidIdToList>().ToList(a => a.id);
|
||||
|
||||
var t11 = select.Where(a => a.Type.Name.Length > 0).ToList(true);
|
||||
var t21 = select.Where(a => a.Type.Parent.Name.Length > 0).ToList(true);
|
||||
}
|
||||
class TestGuidIdToList {
|
||||
public Guid id { get; set; }
|
||||
|
@ -41,6 +41,11 @@ namespace FreeSql.Tests.Oracle {
|
||||
var t5 = g.oracle.Ado.Query<dynamic>("select * from \"TB_TOPIC\"");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void QueryMultipline() {
|
||||
//var t3 = g.oracle.Ado.Query<xxx, (int, string, string), dynamic>("select * from \"TB_TOPIC\"; select * from \"TB_TOPIC\"; select * from \"TB_TOPIC\"");
|
||||
}
|
||||
|
||||
class xxx {
|
||||
public int Id { get; set; }
|
||||
public string Path { get; set; }
|
||||
|
@ -219,6 +219,9 @@ namespace FreeSql.Tests.PostgreSQL {
|
||||
g.pgsql.Insert<TestGuidIdToList>().AppendData(new TestGuidIdToList()).ExecuteAffrows();
|
||||
var testGuidId5 = g.pgsql.Select<TestGuidIdToList>().ToList();
|
||||
var testGuidId6 = g.pgsql.Select<TestGuidIdToList>().ToList(a => a.id);
|
||||
|
||||
var t11 = select.Where(a => a.Type.Name.Length > 0).ToList(true);
|
||||
var t21 = select.Where(a => a.Type.Parent.Name.Length > 0).ToList(true);
|
||||
}
|
||||
class TestGuidIdToList {
|
||||
public Guid id { get; set; }
|
||||
|
@ -42,6 +42,12 @@ namespace FreeSql.Tests.PostgreSQL {
|
||||
var t5 = g.pgsql.Ado.Query<dynamic>("select * from xxx");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void QueryMultipline() {
|
||||
g.pgsql.CodeFirst.SyncStructure<xxx>();
|
||||
var t3 = g.pgsql.Ado.Query<xxx, (int, string, string), dynamic>("select * from xxx; select * from xxx; select * from xxx");
|
||||
}
|
||||
|
||||
class xxx {
|
||||
public int Id { get; set; }
|
||||
public string Path { get; set; }
|
||||
|
@ -151,6 +151,9 @@ namespace FreeSql.Tests.SqlServer {
|
||||
_sqlserverFixture.SqlServer.Insert<TestGuidIdToList>().AppendData(new TestGuidIdToList()).ExecuteAffrows();
|
||||
var testGuidId5 = _sqlserverFixture.SqlServer.Select<TestGuidIdToList>().ToList();
|
||||
var testGuidId6 = _sqlserverFixture.SqlServer.Select<TestGuidIdToList>().ToList(a => a.id);
|
||||
|
||||
var t11 = select.Where(a => a.Type.Name.Length > 0).ToList(true);
|
||||
var t21 = select.Where(a => a.Type.Parent.Name.Length > 0).ToList(true);
|
||||
}
|
||||
class TestGuidIdToList {
|
||||
public Guid id { get; set; }
|
||||
|
@ -74,6 +74,13 @@ namespace FreeSql.Tests.SqlServer {
|
||||
new System.Data.SqlClient.SqlParameter("Id", 1));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void QueryMultipline() {
|
||||
var tnsql1 = _sqlserverFixture.SqlServer.Select<xxx>().Where(a => a.Id > 0).Where(b => b.Title != null).Page(1, 3).ToSql(a => a.Id);
|
||||
|
||||
var t3 = _sqlserverFixture.SqlServer.Ado.Query<xxx, (int, string, string), dynamic>("select * from xxx; select * from xxx; select * from xxx");
|
||||
}
|
||||
|
||||
class xxx {
|
||||
public int Id { get; set; }
|
||||
public int ParentId { get; set; }
|
||||
|
@ -160,6 +160,9 @@ namespace FreeSql.Tests.Sqlite {
|
||||
g.sqlite.Insert<TestGuidIdToList>().AppendData(new TestGuidIdToList()).ExecuteAffrows();
|
||||
var testGuidId5 = g.sqlite.Select<TestGuidIdToList>().ToList();
|
||||
var testGuidId6 = g.sqlite.Select<TestGuidIdToList>().ToList(a => a.id);
|
||||
|
||||
var t11 = select.Where(a => a.Type.Name.Length > 0).ToList(true);
|
||||
var t21 = select.Where(a => a.Type.Parent.Name.Length > 0).ToList(true);
|
||||
}
|
||||
class TestGuidIdToList {
|
||||
public Guid id { get; set; }
|
||||
|
@ -39,6 +39,11 @@ namespace FreeSql.Tests.Sqlite {
|
||||
var t5 = g.sqlite.Ado.Query<dynamic>("select * from \"song\"");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void QueryMultipline() {
|
||||
var t3 = g.sqlite.Ado.Query<xxx, (int, string, string), dynamic>("select * from song; select * from song; select * from song");
|
||||
}
|
||||
|
||||
class xxx {
|
||||
public int Id { get; set; }
|
||||
public string Path { get; set; }
|
||||
|
@ -329,6 +329,9 @@ namespace FreeSql.Tests {
|
||||
var t23 = g.mysql.Update<TestInfo>().SetSource(new[] { new TestInfo { Id = 1, Title = "111" }, new TestInfo { Id = 2, Title = "222" } }).Set(a => a.TypeGuid + 222111).ToSql();
|
||||
var t24 = g.mysql.Update<TestInfo>().SetSource(new[] { new TestInfo { Id = 1, Title = "111" }, new TestInfo { Id = 2, Title = "222" } }).Set(a => a.TypeGuid + 222111).Where(a => a.Title == "111").ToSql();
|
||||
|
||||
|
||||
var t1000 = g.sqlite.Select<ExamPaper>().ToSql();
|
||||
var t1001 = g.sqlite.Insert<ExamPaper>().AppendData(new ExamPaper()).ToSql();
|
||||
}
|
||||
}
|
||||
class NullAggreTestTable {
|
||||
@ -366,4 +369,42 @@ namespace FreeSql.Tests {
|
||||
|
||||
public List<TestTypeInfo> Types { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 试卷表
|
||||
/// </summary>
|
||||
[Table(Name = "exam_paper")]
|
||||
public class ExamPaper {
|
||||
|
||||
public long id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 考核计划ID
|
||||
/// </summary>
|
||||
public long AssessmentPlanId { get; set; }
|
||||
/// <summary>
|
||||
/// 总分
|
||||
/// </summary>
|
||||
public int TotalScore { get; set; }
|
||||
|
||||
public DateTime BeginTime { get; set; }
|
||||
|
||||
public DateTime? EndTime { get; set; }
|
||||
|
||||
//[Column(IsIgnore = true)]
|
||||
//public ExamStatus Status { get; set; }
|
||||
public ExamStatus Status {
|
||||
get {
|
||||
if (DateTime.Now <= BeginTime)
|
||||
return ExamStatus.Wait;
|
||||
if (BeginTime <= DateTime.Now && (!EndTime.HasValue || DateTime.Now < EndTime))
|
||||
return ExamStatus.Started;
|
||||
if (BeginTime <= DateTime.Now && (EndTime.HasValue && EndTime <= DateTime.Now))
|
||||
return ExamStatus.End;
|
||||
return ExamStatus.Wait;
|
||||
}
|
||||
}
|
||||
}
|
||||
public enum ExamStatus { Wait, Started, End }
|
||||
}
|
||||
|
Reference in New Issue
Block a user