mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
DbFirst add WhereColumns
This commit is contained in:
parent
30b9baf529
commit
1e82ae02c4
@ -19,6 +19,7 @@ namespace SqlSugar
|
||||
private string Namespace { get; set; }
|
||||
private bool IsAttribute { get; set; }
|
||||
private bool IsDefaultValue { get; set; }
|
||||
private Func<string, bool> WhereColumnsfunc;
|
||||
private ISqlBuilder SqlBuilder
|
||||
{
|
||||
get
|
||||
@ -89,13 +90,13 @@ namespace SqlSugar
|
||||
this.PropertyTemplate = func(this.PropertyTemplate);
|
||||
return this;
|
||||
}
|
||||
public RazorFirst UseRazorAnalysis(string razorClassTemplate,string classNamespace="Models" )
|
||||
public RazorFirst UseRazorAnalysis(string razorClassTemplate, string classNamespace = "Models")
|
||||
{
|
||||
if (razorClassTemplate == null)
|
||||
{
|
||||
razorClassTemplate = "";
|
||||
}
|
||||
razorClassTemplate=razorClassTemplate.Replace("@Model.Namespace", classNamespace);
|
||||
razorClassTemplate = razorClassTemplate.Replace("@Model.Namespace", classNamespace);
|
||||
var result = new RazorFirst();
|
||||
if (this.Context.CurrentConnectionConfig.ConfigureExternalServices?.RazorService != null)
|
||||
{
|
||||
@ -108,7 +109,7 @@ namespace SqlSugar
|
||||
var columns = this.Context.DbMaintenance.GetColumnInfosByTableName(item.Name, false);
|
||||
RazorTableInfo table = new RazorTableInfo()
|
||||
{
|
||||
Columns = columns.Select(it => new RazorColumnInfo()
|
||||
Columns = columns.Where(it => WhereColumnsfunc == null || WhereColumnsfunc(it.DbColumnName)).Select(it => new RazorColumnInfo()
|
||||
{
|
||||
ColumnDescription = it.ColumnDescription,
|
||||
DataType = it.DataType,
|
||||
@ -124,7 +125,7 @@ namespace SqlSugar
|
||||
};
|
||||
foreach (var col in table.Columns)
|
||||
{
|
||||
col.DataType = GetPropertyTypeName(columns.First(it=>it.DbColumnName==col.DbColumnName));
|
||||
col.DataType = GetPropertyTypeName(columns.First(it => it.DbColumnName == col.DbColumnName));
|
||||
}
|
||||
razorList.Add(table);
|
||||
}
|
||||
@ -167,6 +168,13 @@ namespace SqlSugar
|
||||
return this;
|
||||
}
|
||||
|
||||
public IDbFirst WhereColumns(Func<string, bool> func)
|
||||
{
|
||||
WhereColumnsfunc = func;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public IDbFirst Where(params string[] objectNames)
|
||||
{
|
||||
if (objectNames.HasValue())
|
||||
@ -235,7 +243,7 @@ namespace SqlSugar
|
||||
classText = classText.Replace(DbFirstTemplate.KeySugarTable, IsAttribute ? string.Format(DbFirstTemplate.ValueSugarTable, tableInfo.Name) : null);
|
||||
if (columns.HasValue())
|
||||
{
|
||||
foreach (var item in columns)
|
||||
foreach (var item in columns.Where(it => WhereColumnsfunc == null || WhereColumnsfunc(it.DbColumnName)))
|
||||
{
|
||||
var isLast = columns.Last() == item;
|
||||
var index = columns.IndexOf(item);
|
||||
|
@ -15,11 +15,12 @@ namespace SqlSugar
|
||||
IDbFirst SettingNamespaceTemplate(Func<string, string> func);
|
||||
RazorFirst UseRazorAnalysis(string razorClassString, string classNamespace = "Models");
|
||||
IDbFirst IsCreateAttribute(bool isCreateAttribute = true);
|
||||
IDbFirst IsCreateDefaultValue(bool isCreateDefaultValue=true);
|
||||
IDbFirst IsCreateDefaultValue(bool isCreateDefaultValue = true);
|
||||
IDbFirst Where(params string[] objectNames);
|
||||
IDbFirst Where(Func<string,bool> func);
|
||||
IDbFirst Where(Func<string, bool> func);
|
||||
IDbFirst WhereColumns(Func<string, bool> func);
|
||||
IDbFirst Where(DbObjectType dbObjectType);
|
||||
void CreateClassFile(string directoryPath, string nameSpace = "Models");
|
||||
void CreateClassFile(string directoryPath, string nameSpace = "Models");
|
||||
Dictionary<string, string> ToClassStringList(string nameSpace = "Models");
|
||||
void Init();
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ namespace OrmTest
|
||||
}
|
||||
db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\8", "Models");
|
||||
|
||||
|
||||
db.DbFirst.WhereColumns(it => it.ToUpper()!="ID").CreateClassFile("c:\\Demo\\9", "Models");
|
||||
//Use Razor Template
|
||||
//db.DbFirst.UseRazorAnalysis(RazorFirst.DefaultRazorClassTemplate).CreateClassFile("");
|
||||
|
||||
|
@ -19,6 +19,7 @@ namespace SqlSugar
|
||||
private string Namespace { get; set; }
|
||||
private bool IsAttribute { get; set; }
|
||||
private bool IsDefaultValue { get; set; }
|
||||
private Func<string, bool> WhereColumnsfunc;
|
||||
private ISqlBuilder SqlBuilder
|
||||
{
|
||||
get
|
||||
@ -89,13 +90,13 @@ namespace SqlSugar
|
||||
this.PropertyTemplate = func(this.PropertyTemplate);
|
||||
return this;
|
||||
}
|
||||
public RazorFirst UseRazorAnalysis(string razorClassTemplate,string classNamespace="Models" )
|
||||
public RazorFirst UseRazorAnalysis(string razorClassTemplate, string classNamespace = "Models")
|
||||
{
|
||||
if (razorClassTemplate == null)
|
||||
{
|
||||
razorClassTemplate = "";
|
||||
}
|
||||
razorClassTemplate=razorClassTemplate.Replace("@Model.Namespace", classNamespace);
|
||||
razorClassTemplate = razorClassTemplate.Replace("@Model.Namespace", classNamespace);
|
||||
var result = new RazorFirst();
|
||||
if (this.Context.CurrentConnectionConfig.ConfigureExternalServices?.RazorService != null)
|
||||
{
|
||||
@ -108,7 +109,7 @@ namespace SqlSugar
|
||||
var columns = this.Context.DbMaintenance.GetColumnInfosByTableName(item.Name, false);
|
||||
RazorTableInfo table = new RazorTableInfo()
|
||||
{
|
||||
Columns = columns.Select(it => new RazorColumnInfo()
|
||||
Columns = columns.Where(it => WhereColumnsfunc == null || WhereColumnsfunc(it.DbColumnName)).Select(it => new RazorColumnInfo()
|
||||
{
|
||||
ColumnDescription = it.ColumnDescription,
|
||||
DataType = it.DataType,
|
||||
@ -124,7 +125,7 @@ namespace SqlSugar
|
||||
};
|
||||
foreach (var col in table.Columns)
|
||||
{
|
||||
col.DataType = GetPropertyTypeName(columns.First(it=>it.DbColumnName==col.DbColumnName));
|
||||
col.DataType = GetPropertyTypeName(columns.First(it => it.DbColumnName == col.DbColumnName));
|
||||
}
|
||||
razorList.Add(table);
|
||||
}
|
||||
@ -167,6 +168,13 @@ namespace SqlSugar
|
||||
return this;
|
||||
}
|
||||
|
||||
public IDbFirst WhereColumns(Func<string, bool> func)
|
||||
{
|
||||
WhereColumnsfunc = func;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public IDbFirst Where(params string[] objectNames)
|
||||
{
|
||||
if (objectNames.HasValue())
|
||||
@ -235,7 +243,7 @@ namespace SqlSugar
|
||||
classText = classText.Replace(DbFirstTemplate.KeySugarTable, IsAttribute ? string.Format(DbFirstTemplate.ValueSugarTable, tableInfo.Name) : null);
|
||||
if (columns.HasValue())
|
||||
{
|
||||
foreach (var item in columns)
|
||||
foreach (var item in columns.Where(it => WhereColumnsfunc == null || WhereColumnsfunc(it.DbColumnName)))
|
||||
{
|
||||
var isLast = columns.Last() == item;
|
||||
var index = columns.IndexOf(item);
|
||||
|
@ -18,6 +18,7 @@ namespace SqlSugar
|
||||
IDbFirst IsCreateDefaultValue(bool isCreateDefaultValue=true);
|
||||
IDbFirst Where(params string[] objectNames);
|
||||
IDbFirst Where(Func<string,bool> func);
|
||||
IDbFirst WhereColumns(Func<string, bool> func);
|
||||
IDbFirst Where(DbObjectType dbObjectType);
|
||||
void CreateClassFile(string directoryPath, string nameSpace = "Models");
|
||||
Dictionary<string, string> ToClassStringList(string nameSpace = "Models");
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Version>5.0.0.13</Version>
|
||||
<Version>5.0.0.14</Version>
|
||||
<Copyright>sun_kai_xuan</Copyright>
|
||||
<PackageProjectUrl>https://github.com/sunkaixuan/SqlSugar</PackageProjectUrl>
|
||||
<PackageLicenseUrl></PackageLicenseUrl>
|
||||
|
Loading…
Reference in New Issue
Block a user