From 2cd9328a888231dd586bb253b7ee77e22abc5ee7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 1 May 2017 08:38:47 +0800 Subject: [PATCH] - --- .../DMLBuilder/InsertBuilder.cs | 4 +- .../SqlBuilderProvider/SqlBuilderProvider.cs | 25 ++---------- .../InsertableProvider/InsertableProvider.cs | 12 ++++-- .../Db/SqlBuilder/SqlServerInsertBuilder.cs | 12 ++++++ ...eryBuilder.cs => SqlServerQueryBuilder.cs} | 0 SqlSugar/InstanceFactory.cs | 6 +++ SqlSugar/Interface/Insertable.cs | 2 +- SqlSugar/SqlSugar.csproj | 3 +- SqlSugar/SqlSugarClient.cs | 39 ++++++++++++------- 9 files changed, 58 insertions(+), 45 deletions(-) create mode 100644 SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerInsertBuilder.cs rename SqlSugar/Databases/SqlServer/Db/SqlBuilder/{SqlServerLambadaQueryBuilder.cs => SqlServerQueryBuilder.cs} (100%) diff --git a/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/DMLBuilder/InsertBuilder.cs b/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/DMLBuilder/InsertBuilder.cs index 71f38c048..1360c2281 100644 --- a/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/DMLBuilder/InsertBuilder.cs +++ b/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/DMLBuilder/InsertBuilder.cs @@ -29,7 +29,7 @@ namespace SqlSugar } } - public void Clear() + public virtual void Clear() { } @@ -47,7 +47,7 @@ namespace SqlSugar } } - public string ToSqlString() + public virtual string ToSqlString() { string columnsString =string.Join("," ,this.ColumNames.Select(it => Builder.GetTranslationColumnName(it))); string columnParametersString = string.Join(",", this.ColumNames.Select(it =>Builder.SqlParameterKeyWord+it)); diff --git a/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/SqlBuilderProvider.cs b/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/SqlBuilderProvider.cs index ffdb39749..c5fa21244 100644 --- a/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/SqlSugar/Abstract/DbProvider/SqlBuilderProvider/SqlBuilderProvider.cs @@ -29,24 +29,12 @@ namespace SqlSugar public DeleteBuilder DeleteBuilder { - get - { - base._DeleteBuilder = PubMethod.IsNullReturnNew(base._DeleteBuilder); - // base._DeleteBuilder.Conext = this.Context; - return base._DeleteBuilder; - } - set { base._DeleteBuilder = value; } + get; set; } public InsertBuilder InsertBuilder { - get - { - base._InsertBuilder = PubMethod.IsNullReturnNew(base._InsertBuilder); - // base._InsertBuilder.Conext = this.Context; - return base._InsertBuilder; - } - set { base._InsertBuilder = value; } + get; set; } public QueryBuilder QueryBuilder @@ -59,7 +47,6 @@ namespace SqlSugar get { base._SqlQueryBuilder = PubMethod.IsNullReturnNew(base._SqlQueryBuilder); - // base._SqlQueryBuilder.Conext = this.Context; return base._SqlQueryBuilder; } set { base._SqlQueryBuilder = value; } @@ -67,13 +54,7 @@ namespace SqlSugar public UpdateBuilder UpdateBuilder { - get - { - base._UpdateBuilder = PubMethod.IsNullReturnNew(base._UpdateBuilder); - // base._UpdateBuilder.Conext = this.Context; - return base._UpdateBuilder; - } - set { base._UpdateBuilder = value; } + get; set; } public SqlSugarClient Context diff --git a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index d7aedd3a2..984bd425f 100644 --- a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -42,22 +42,26 @@ namespace SqlSugar public IInsertable Insert(T InsertObj) { - throw new NotImplementedException(); + return this; } public IInsertable InsertColumns(Expression> columns) { - throw new NotImplementedException(); + return this; } public IInsertable InsertRange(List InsertObjs) { - throw new NotImplementedException(); + return this; } public IInsertable With(string lockString) { - throw new NotImplementedException(); + return this; + } + + public IInsertable Where(bool isInsertNull) { + return this; } } } diff --git a/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerInsertBuilder.cs b/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerInsertBuilder.cs new file mode 100644 index 000000000..ecab5d43e --- /dev/null +++ b/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerInsertBuilder.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SqlSugar +{ + public class SqlServerInsertBuilder:InsertBuilder + { + } +} diff --git a/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerLambadaQueryBuilder.cs b/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerQueryBuilder.cs similarity index 100% rename from SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerLambadaQueryBuilder.cs rename to SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerQueryBuilder.cs diff --git a/SqlSugar/InstanceFactory.cs b/SqlSugar/InstanceFactory.cs index b5de0735c..544ef5916 100644 --- a/SqlSugar/InstanceFactory.cs +++ b/SqlSugar/InstanceFactory.cs @@ -25,6 +25,12 @@ namespace SqlSugar QueryBuilder reval = CreateInstance(GetClassName(currentConnectionConfig.DbType, "QueryBuilder"), currentConnectionConfig.DbType); return reval; } + public static InsertBuilder GetInsertBuilder(IConnectionConfig currentConnectionConfig) + { + CheckConfig(currentConnectionConfig); + InsertBuilder reval = CreateInstance(GetClassName(currentConnectionConfig.DbType, "InsertBuilder"), currentConnectionConfig.DbType); + return reval; + } public static ILambdaExpressions GetLambdaExpressions(IConnectionConfig currentConnectionConfig) { diff --git a/SqlSugar/Interface/Insertable.cs b/SqlSugar/Interface/Insertable.cs index fc47a0048..0b4518c1c 100644 --- a/SqlSugar/Interface/Insertable.cs +++ b/SqlSugar/Interface/Insertable.cs @@ -14,7 +14,7 @@ namespace SqlSugar IInsertable With(string lockString); IInsertable InsertColumns(Expression> columns); IInsertable IgnoreColumns(Expression> columns); + IInsertable Where(bool isInsertNull); KeyValuePair> ToSql(); - } } diff --git a/SqlSugar/SqlSugar.csproj b/SqlSugar/SqlSugar.csproj index 1a9e64ecf..3ce74e4f4 100644 --- a/SqlSugar/SqlSugar.csproj +++ b/SqlSugar/SqlSugar.csproj @@ -54,6 +54,7 @@ + @@ -82,7 +83,7 @@ - + diff --git a/SqlSugar/SqlSugarClient.cs b/SqlSugar/SqlSugarClient.cs index cdc9d2b66..dd19a04f9 100644 --- a/SqlSugar/SqlSugarClient.cs +++ b/SqlSugar/SqlSugarClient.cs @@ -112,6 +112,8 @@ namespace SqlSugar #endregion #region functions + + #region Queryable /// /// Lambda Query operation /// @@ -129,20 +131,6 @@ namespace SqlSugar return reval; } - public virtual IInsertable Insertable(params T [] insertObj) where T : class, new() - { - var reval = new InsertableProvider(); - reval.Context = this; - var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ; - reval.SqlBuilder = sqlBuilder; - reval.SqlBuilder.QueryBuilder = InstanceFactory.GetQueryBuilder(base.CurrentConnectionConfig); - reval.SqlBuilder.QueryBuilder.Builder = sqlBuilder; - reval.SqlBuilder.Context = reval.SqlBuilder.QueryBuilder.Context = this; - reval.SqlBuilder.QueryBuilder.EntityName = typeof(T).Name; - reval.SqlBuilder.QueryBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig); - return reval; - } - /// /// Lambda Query operation /// @@ -237,6 +225,25 @@ namespace SqlSugar return queryable; } + #endregion + + #region Insertable + public virtual IInsertable Insertable(params T[] insertObj) where T : class, new() + { + var reval = new InsertableProvider(); + reval.Context = this; + var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ; + reval.SqlBuilder = sqlBuilder; + reval.SqlBuilder.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig); + reval.SqlBuilder.InsertBuilder.Builder = sqlBuilder; + reval.SqlBuilder.Context = reval.SqlBuilder.QueryBuilder.Context = this; + reval.SqlBuilder.InsertBuilder.EntityName = typeof(T).Name; + reval.SqlBuilder.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig); + return reval; + } + + #endregion + #region SqlQuery public virtual List SqlQuery(string sql, object pars = null) { var dbPars = this.Database.GetParameters(pars); @@ -249,7 +256,9 @@ namespace SqlSugar builder.SqlQueryBuilder.Clear(); return reval; } - } + } + #endregion + public virtual void Close() { if (this.Database != null)