diff --git a/Src/Asp.Net/SqlServerTest/8_Insert.cs b/Src/Asp.Net/SqlServerTest/8_Insert.cs index 0a62149dc..23196c7fa 100644 --- a/Src/Asp.Net/SqlServerTest/8_Insert.cs +++ b/Src/Asp.Net/SqlServerTest/8_Insert.cs @@ -1,12 +1,65 @@ -using System; +using SqlSugar; +using System; using System.Collections.Generic; +using System.Data.Common; using System.Linq; using System.Text; using System.Threading.Tasks; -namespace OrmTest +namespace OrmTest { internal class _8_Insert { + public static void Init() + { + var db = DbHelper.GetNewDb(); + + // 初始化实体表格(Initialize entity tables) + db.CodeFirst.InitTables(); + + // Use Case 1: 返回插入行数(Return the number of inserted rows) + var rowCount = db.Insertable(new StudentWithIdentity() { Name = "name" }).ExecuteCommand(); + + // Use Case 2: 插入数据并返回自增列(Insert data and return the auto-incremented column) + var identity = db.Insertable(new StudentWithIdentity() { Name = "name2" }).ExecuteReturnIdentity(); + + // Use Case 3: 返回雪花ID(Return the snowflake ID) + var snowflakeId = db.Insertable(new StudentWithSnowflake() { Name = "name" }).ExecuteReturnSnowflakeId(); + + // Use Case 4: 强制设置表名别名(Forcefully set table name alias) + db.Insertable(new StudentWithIdentity() { Name = "name2" }).AS("StudentWithIdentity").ExecuteCommand(); + + // Use Case 5: 批量插入实体(非参数化插入)(Batch insert entities (non-parameterized)) + var list = db.Queryable().Take(2).ToList(); + db.Insertable(list).ExecuteCommand(); + + // Use Case 6: 参数化内部分页插入(Parameterized internal pagination insert) + db.Insertable(list).UseParameter().ExecuteCommand(); + + // Use Case 7: 大数据写入(示例代码,请根据实际情况调整)(Bulk data insertion - Example code, adjust based on actual scenario) + var listLong = new List() { + new StudentWithSnowflake() { Name = "name",Id=SnowFlakeSingle.Instance.NextId() }, + new StudentWithSnowflake() { Name = "name",Id=SnowFlakeSingle.Instance.NextId()} + }; + db.Fastest().BulkCopy(listLong); + } + + // 实体类:带自增主键(Entity class: With auto-increment primary key) + [SugarTable("StudentWithIdentity08")] + public class StudentWithIdentity + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Name { get; set; } + } + + // 实体类:带雪花主键(Entity class: With snowflake primary key) + [SugarTable("StudentWithSnowflake08")] + public class StudentWithSnowflake + { + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + public string Name { get; set; } + } } -} +} \ No newline at end of file diff --git a/Src/Asp.Net/SqlServerTest/9_Update.cs b/Src/Asp.Net/SqlServerTest/9_Update.cs index fd0798568..f30abd242 100644 --- a/Src/Asp.Net/SqlServerTest/9_Update.cs +++ b/Src/Asp.Net/SqlServerTest/9_Update.cs @@ -8,5 +8,9 @@ namespace OrmTest { internal class _9_Update { + internal static void Init() + { + + } } } diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs index 3906079ab..64e9f1e7b 100644 --- a/Src/Asp.Net/SqlServerTest/Program.cs +++ b/Src/Asp.Net/SqlServerTest/Program.cs @@ -15,6 +15,11 @@ namespace OrmTest _5_PageQuery.Init(); _6_NavQuery.Init(); _7_GroupQuery.Init(); + _8_Insert.Init(); + _9_Update.Init(); + _a1_Delete.Init(); + _a2_Sql.Init(); + _a3_Merge.Init(); } } diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index fbea03abd..d690febf3 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -71,6 +71,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/a1_Delete.cs b/Src/Asp.Net/SqlServerTest/a1_Delete.cs index 501fc58ec..4f374f962 100644 --- a/Src/Asp.Net/SqlServerTest/a1_Delete.cs +++ b/Src/Asp.Net/SqlServerTest/a1_Delete.cs @@ -6,7 +6,11 @@ using System.Threading.Tasks; namespace OrmTest { - internal class _10_Delete + internal class _a1_Delete { + internal static void Init() + { + + } } } diff --git a/Src/Asp.Net/SqlServerTest/a2_Sql.cs b/Src/Asp.Net/SqlServerTest/a2_Sql.cs index 7431feb06..05472990d 100644 --- a/Src/Asp.Net/SqlServerTest/a2_Sql.cs +++ b/Src/Asp.Net/SqlServerTest/a2_Sql.cs @@ -6,7 +6,11 @@ using System.Threading.Tasks; namespace OrmTest { - internal class a2_Sql + internal class _a2_Sql { + internal static void Init() + { + + } } } diff --git a/Src/Asp.Net/SqlServerTest/a3_Merge.cs b/Src/Asp.Net/SqlServerTest/a3_Merge.cs new file mode 100644 index 000000000..72eb69a90 --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/a3_Merge.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + internal class _a3_Merge + { + internal static void Init() + { + + } + } +}