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