From 777a7c6ddc84a8a8e30e6ed4beabc94b48229bb2 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 6 Nov 2023 09:48:32 +0800 Subject: [PATCH] Update demo --- Src/Asp.Net/SqlServerTest/2_DbFirst.cs | 90 +++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 10 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/2_DbFirst.cs b/Src/Asp.Net/SqlServerTest/2_DbFirst.cs index 733f17948..86c88a627 100644 --- a/Src/Asp.Net/SqlServerTest/2_DbFirst.cs +++ b/Src/Asp.Net/SqlServerTest/2_DbFirst.cs @@ -1,4 +1,5 @@ -using System; +using SqlSugar; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,22 +9,91 @@ namespace OrmTest { internal class _2_DbFirst { - public static void Init() + public static void Init() { - var db = DbHelper.GetNewDb(); + var db = DbHelper.GetNewDb(); + //生成干净的类 + Demo1(db); + + //生成SqlSugar类 + Demo2(db); + + //支持string? + Demo3(db); + + //格式化类名属性名文件名 + Demo4(db); + + //修改模版 + Demo5(db); + + //条件过滤 + Demo6(db); + } + private static void Demo1(SqlSugarClient db) + { db.DbFirst.CreateClassFile("c:\\Demo\\1", "Models"); - + } + private static void Demo2(SqlSugarClient db) + { db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\2", "Models"); + } + private static void Demo3(SqlSugarClient db) + { + db.DbFirst.IsCreateAttribute().StringNullable().CreateClassFile("c:\\Demo\\3", "Models"); + } - db.DbFirst.StringNullable().IsCreateAttribute().CreateClassFile("c:\\Demo\\3", "Models"); - + private static void Demo4(SqlSugarClient db) + { db.DbFirst .IsCreateAttribute() - .FormatFileName(it => "File_"+it) - .FormatClassName(it=> "Class_"+it) - .FormatPropertyName(it=> "Property_" + it ) - .CreateClassFile("c:\\Demo\\4", "Models"); + .FormatFileName(it => "File_" + it) + .FormatClassName(it => "Class_" + it) + .FormatPropertyName(it => "Property_" + it) + .CreateClassFile("c:\\Demo\\4", "Models"); + } + + private static void Demo5(SqlSugarClient db) + { + db.DbFirst.IsCreateAttribute().Where(it => it.ToLower() == "userinfo001").CreateClassFile("c:\\Demo\\5", "Models"); + } + + private static void Demo6(SqlSugarClient db) + { + //禁用IsCreateAttribute不然会有冲突 + db.DbFirst + //类 + .SettingClassTemplate(old => { return old;/*修改old值替换*/ }) + //类构造函数 + .SettingConstructorTemplate(old => { return old;/*修改old值替换*/ }) + .SettingNamespaceTemplate(old => + { + return old + "\r\nusing SqlSugar;"; //追加引用SqlSugar + }) + //属性备注 + .SettingPropertyDescriptionTemplate(old => { return old;/*修改old值替换*/}) + + //属性:新重载 完全自定义用配置 + .SettingPropertyTemplate((columns, temp, type) => + { + + var columnattribute = "\r\n [SugarColumn({0})]"; + List attributes = new List(); + if (columns.IsPrimarykey) + attributes.Add("IsPrimaryKey=true"); + if (columns.IsIdentity) + attributes.Add("IsIdentity=true"); + if (attributes.Count == 0) + { + columnattribute = ""; + } + return temp.Replace("{PropertyType}", type) + .Replace("{PropertyName}", columns.DbColumnName) + .Replace("{SugarColumn}", string.Format(columnattribute, string.Join(",", attributes))); + }) + + .CreateClassFile("c:\\Demo\\6"); } } }