Skip to content

Commit acf26ec

Browse files
2881028810
authored andcommitted
- 增加 ISelect.InsertInto 将查询转换为 INSERT INTO t1 SELECT ... FROM t2 执行插入;#469
1 parent fc47407 commit acf26ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+638
-191
lines changed

FreeSql.DbContext/FreeSql.DbContext.xml

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/Curd/MySqlInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ public void ExecuteAffrows()
105105

106106
Assert.Equal(1, g.mysql.Insert<TestEnumInsertTb>().AppendData(new TestEnumInsertTb { type = TestEnumInserTbType.sum211 }).ExecuteAffrows());
107107
Assert.Equal(1, g.mysql.Insert<TestEnumInsertTb>().AppendData(new TestEnumInsertTb { type = TestEnumInserTbType.sum211 }).NoneParameter().ExecuteAffrows());
108+
109+
Assert.Equal(10, g.mysql.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
110+
{
111+
Title = a.Title
112+
}));
108113
}
109114
[Fact]
110115
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/Dameng/Curd/DamengInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ public void ExecuteAffrows()
177177

178178
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
179179
Assert.Equal(10, insert.AppendData(items).ExecuteAffrows());
180+
181+
Assert.Equal(10, g.dameng.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
182+
{
183+
Title = a.Title
184+
}));
180185
}
181186
[Fact]
182187
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/Firebird/Curd/FirebirdInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,11 @@ public void ExecuteAffrows()
215215

216216
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
217217
Assert.Equal(10, insert.NoneParameter().AppendData(items).ExecuteAffrows());
218+
219+
Assert.Equal(10, g.firebird.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
220+
{
221+
Title = a.Title
222+
}));
218223
}
219224
[Fact]
220225
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/KingbaseES/Curd/KingbaseESInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ public void ExecuteAffrows()
8989

9090
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
9191
Assert.Equal(10, insert.AppendData(items).ExecuteAffrows());
92+
93+
Assert.Equal(10, g.kingbaseES.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
94+
{
95+
Title = a.Title
96+
}));
9297
}
9398
[Fact]
9499
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/MsAccess/Curd/MsAccessInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ public void ExecuteAffrows()
9292

9393
//items = Enumerable.Range(0, 9989).Select(a => new Topic { Title = "newtitle" + a, CreateTime = DateTime.Now }).ToList();
9494
//Assert.Equal(9989, g.msaccess.Insert<Topic>(items).ExecuteAffrows());
95+
96+
Assert.Equal(10, g.msaccess.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
97+
{
98+
Title = a.Title
99+
}));
95100
}
96101
[Fact]
97102
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ public void ExecuteAffrows()
106106

107107
Assert.Equal(1, g.mysql.Insert<TestEnumInsertTb>().AppendData(new TestEnumInsertTb { type = TestEnumInserTbType.sum211 }).ExecuteAffrows());
108108
Assert.Equal(1, g.mysql.Insert<TestEnumInsertTb>().AppendData(new TestEnumInsertTb { type = TestEnumInserTbType.sum211 }).NoneParameter().ExecuteAffrows());
109+
110+
Assert.Equal(10, g.mysql.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
111+
{
112+
Title = a.Title
113+
}));
109114
}
110115
[Fact]
111116
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/Oracle/Curd/OracleInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ public void ExecuteAffrows()
177177

178178
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
179179
Assert.Equal(10, insert.AppendData(items).ExecuteAffrows());
180+
181+
Assert.Equal(10, g.oracle.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
182+
{
183+
Title = a.Title
184+
}));
180185
}
181186
[Fact]
182187
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/PostgreSQL/Curd/PostgreSQLInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ public void ExecuteAffrows()
8989

9090
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
9191
Assert.Equal(10, insert.AppendData(items).ExecuteAffrows());
92+
93+
Assert.Equal(10, g.pgsql.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
94+
{
95+
Title = a.Title
96+
}));
9297
}
9398
[Fact]
9499
public void ExecuteIdentity()

FreeSql.Tests/FreeSql.Tests/ShenTong/Curd/ShenTongInsertTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ public void ExecuteAffrows()
8989

9090
Assert.Equal(1, insert.AppendData(items.First()).ExecuteAffrows());
9191
Assert.Equal(10, insert.AppendData(items).ExecuteAffrows());
92+
93+
Assert.Equal(10, g.shentong.Select<Topic>().Limit(10).InsertInto(null, a => new Topic
94+
{
95+
Title = a.Title
96+
}));
9297
}
9398
[Fact]
9499
public void ExecuteIdentity()

0 commit comments

Comments
 (0)