This commit is contained in:
sunkaixuan
2017-05-01 08:38:47 +08:00
parent efe78d767e
commit 2cd9328a88
9 changed files with 58 additions and 45 deletions

View File

@@ -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));

View File

@@ -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

View File

@@ -42,22 +42,26 @@ namespace SqlSugar
public IInsertable<T> Insert(T InsertObj)
{
throw new NotImplementedException();
return this;
}
public IInsertable<T> InsertColumns(Expression<Func<T, object[]>> columns)
{
throw new NotImplementedException();
return this;
}
public IInsertable<T> InsertRange(List<T> InsertObjs)
{
throw new NotImplementedException();
return this;
}
public IInsertable<T> With(string lockString)
{
throw new NotImplementedException();
return this;
}
public IInsertable<T> Where(bool isInsertNull) {
return this;
}
}
}

View File

@@ -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
{
}
}

View File

@@ -25,6 +25,12 @@ namespace SqlSugar
QueryBuilder reval = CreateInstance<QueryBuilder>(GetClassName(currentConnectionConfig.DbType, "QueryBuilder"), currentConnectionConfig.DbType);
return reval;
}
public static InsertBuilder GetInsertBuilder(IConnectionConfig currentConnectionConfig)
{
CheckConfig(currentConnectionConfig);
InsertBuilder reval = CreateInstance<InsertBuilder>(GetClassName(currentConnectionConfig.DbType, "InsertBuilder"), currentConnectionConfig.DbType);
return reval;
}
public static ILambdaExpressions GetLambdaExpressions(IConnectionConfig currentConnectionConfig)
{

View File

@@ -14,7 +14,7 @@ namespace SqlSugar
IInsertable<T> With(string lockString);
IInsertable<T> InsertColumns(Expression<Func<T,object []>> columns);
IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns);
IInsertable<T> Where(bool isInsertNull);
KeyValuePair<string, List<SugarParameter>> ToSql();
}
}

View File

@@ -54,6 +54,7 @@
<Compile Include="Abstract\DbProvider\DbMaintenanceProvider\DbMaintenanceProvider.cs" />
<Compile Include="Abstract\DbProvider\DbProvider\DbProvider.cs" />
<Compile Include="Abstract\InsertableProvider\InsertableProvider.cs" />
<Compile Include="Databases\SqlServer\Db\SqlBuilder\SqlServerInsertBuilder.cs" />
<Compile Include="Entities\Mapping\SugarMappingAttribute.cs" />
<Compile Include="Abstract\QueryableProvider\QueryableAccessory.cs" />
<Compile Include="Abstract\QueryableProvider\QueryableExtendsions.cs" />
@@ -82,7 +83,7 @@
<Compile Include="Databases\SqlServer\Db\DbFirst\SqlServerDbFirst.cs" />
<Compile Include="Databases\SqlServer\Db\SqlBuilder\SqlServerBuilder.cs" />
<Compile Include="Databases\SqlServer\Db\SqlBuilder\SqlServerDbMaintenance.cs" />
<Compile Include="Databases\SqlServer\Db\SqlBuilder\SqlServerLambadaQueryBuilder.cs" />
<Compile Include="Databases\SqlServer\Db\SqlBuilder\SqlServerQueryBuilder.cs" />
<Compile Include="Databases\SqlServer\Db\SqlServerDb.cs" />
<Compile Include="Databases\SqlServer\Queryable\SqlServerQueryable.cs" />
<Compile Include="Entities\DetaultT.cs" />

View File

@@ -112,6 +112,8 @@ namespace SqlSugar
#endregion
#region functions
#region Queryable
/// <summary>
/// Lambda Query operation
/// </summary>
@@ -129,20 +131,6 @@ namespace SqlSugar
return reval;
}
public virtual IInsertable<T> Insertable<T>(params T [] insertObj) where T : class, new()
{
var reval = new InsertableProvider<T>();
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;
}
/// <summary>
/// Lambda Query operation
/// </summary>
@@ -237,6 +225,25 @@ namespace SqlSugar
return queryable;
}
#endregion
#region Insertable
public virtual IInsertable<T> Insertable<T>(params T[] insertObj) where T : class, new()
{
var reval = new InsertableProvider<T>();
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<T> SqlQuery<T>(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)