mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
-
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
using System;
|
using OrmTest.Models;
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -8,5 +10,36 @@ namespace OrmTest.Demo
|
|||||||
{
|
{
|
||||||
public class Delete
|
public class Delete
|
||||||
{
|
{
|
||||||
|
public static void Init()
|
||||||
|
{
|
||||||
|
var db = GetInstance();
|
||||||
|
//by entity
|
||||||
|
var t1 = db.Deleteable<Student>().Where(new Student() { Id = 1 }).ExecuteCommand();
|
||||||
|
|
||||||
|
//use lock
|
||||||
|
var t2 = db.Deleteable<Student>().With(SqlWith.RowLock).ExecuteCommand();
|
||||||
|
|
||||||
|
|
||||||
|
//by primary key
|
||||||
|
var t3 = db.Deleteable<Student>().In(1).ExecuteCommand();
|
||||||
|
|
||||||
|
//by primary key array
|
||||||
|
var t4 = db.Deleteable<Student>().In(new int[] { 1, 2 }).ExecuteCommand();
|
||||||
|
|
||||||
|
//by expression
|
||||||
|
var t5 = db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SqlSugarClient GetInstance()
|
||||||
|
{
|
||||||
|
SqlSugarClient db = new SqlSugarClient(new SystemTablesConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
|
||||||
|
db.Ado.IsEnableLogEvent = true;
|
||||||
|
db.Ado.LogEventStarting = (sql, pars) =>
|
||||||
|
{
|
||||||
|
Console.WriteLine(sql + "\r\n" + db.RewritableMethods.SerializeObject(pars));
|
||||||
|
Console.WriteLine();
|
||||||
|
};
|
||||||
|
return db;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,7 @@ namespace OrmTest
|
|||||||
/***Demo***/
|
/***Demo***/
|
||||||
OrmTest.Demo.Query.Init();
|
OrmTest.Demo.Query.Init();
|
||||||
OrmTest.Demo.Insert.Init();
|
OrmTest.Demo.Insert.Init();
|
||||||
|
OrmTest.Demo.Delete.Init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,11 +18,11 @@ namespace SqlSugar
|
|||||||
public ISqlBuilder Builder { get; set; }
|
public ISqlBuilder Builder { get; set; }
|
||||||
public StringBuilder sql { get; set; }
|
public StringBuilder sql { get; set; }
|
||||||
public List<SugarParameter> Parameters { get; set; }
|
public List<SugarParameter> Parameters { get; set; }
|
||||||
public string TableName { get; set; }
|
|
||||||
public string TableWithString { get; set; }
|
public string TableWithString { get; set; }
|
||||||
public List<DbColumnInfo> DbColumnInfoList { get; set; }
|
public List<DbColumnInfo> DbColumnInfoList { get; set; }
|
||||||
public bool IsInsertNull { get; set; }
|
public bool IsInsertNull { get; set; }
|
||||||
public bool IsReturnIdentity { get; set; }
|
public bool IsReturnIdentity { get; set; }
|
||||||
|
public EntityInfo EntityInfo { get; set; }
|
||||||
|
|
||||||
public virtual string SqlTemplate
|
public virtual string SqlTemplate
|
||||||
{
|
{
|
||||||
@@ -74,7 +74,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
var result = Builder.GetTranslationTableName(TableName);
|
var result = Builder.GetTranslationTableName(EntityInfo.EntityName);
|
||||||
result += PubConst.Space;
|
result += PubConst.Space;
|
||||||
if (this.TableWithString.IsValuable())
|
if (this.TableWithString.IsValuable())
|
||||||
{
|
{
|
||||||
@@ -83,6 +83,8 @@ namespace SqlSugar
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType)
|
public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType)
|
||||||
{
|
{
|
||||||
ILambdaExpressions resolveExpress = this.LambdaExpressions;
|
ILambdaExpressions resolveExpress = this.LambdaExpressions;
|
||||||
|
@@ -16,8 +16,9 @@ namespace SqlSugar
|
|||||||
public CommandType CommandType { get; set; }
|
public CommandType CommandType { get; set; }
|
||||||
public virtual string SqlParameterKeyWord { get { return "@"; } }
|
public virtual string SqlParameterKeyWord { get { return "@"; } }
|
||||||
public abstract string GetTranslationTableName(string name);
|
public abstract string GetTranslationTableName(string name);
|
||||||
public abstract string GetTranslationColumnName(string name);
|
public abstract string GetTranslationColumnName(string entityName, string propertyName);
|
||||||
|
public abstract string GetTranslationColumnName(string propertyName);
|
||||||
|
|
||||||
public string AppendWhereOrAnd(bool isWhere, string sqlString)
|
public string AppendWhereOrAnd(bool isWhere, string sqlString)
|
||||||
{
|
{
|
||||||
return isWhere ? (" WHERE " + sqlString ):( " AND " + sqlString);
|
return isWhere ? (" WHERE " + sqlString ):( " AND " + sqlString);
|
||||||
@@ -27,6 +28,7 @@ namespace SqlSugar
|
|||||||
return " HAVING " + sqlString;
|
return " HAVING " + sqlString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public DeleteBuilder DeleteBuilder
|
public DeleteBuilder DeleteBuilder
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
|
@@ -124,15 +124,6 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
internal void Init()
|
internal void Init()
|
||||||
{
|
{
|
||||||
this.InsertBuilder.TableName = EntityInfo.EntityName;
|
|
||||||
if (IsMappingTable)
|
|
||||||
{
|
|
||||||
var mappingInfo = this.Context.MappingTables.SingleOrDefault(it => it.EntityName == EntityInfo.EntityName);
|
|
||||||
if (mappingInfo != null)
|
|
||||||
{
|
|
||||||
this.InsertBuilder.TableName = mappingInfo.DbTableName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Check.Exception(InsertObjs == null || InsertObjs.Count() == 0, "InsertObjs is null");
|
Check.Exception(InsertObjs == null || InsertObjs.Count() == 0, "InsertObjs is null");
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (var item in InsertObjs)
|
foreach (var item in InsertObjs)
|
||||||
|
@@ -19,7 +19,9 @@ namespace SqlSugar
|
|||||||
UpdateBuilder UpdateBuilder { get; set; }
|
UpdateBuilder UpdateBuilder { get; set; }
|
||||||
|
|
||||||
string SqlParameterKeyWord { get; }
|
string SqlParameterKeyWord { get; }
|
||||||
|
|
||||||
string GetTranslationTableName(string name);
|
string GetTranslationTableName(string name);
|
||||||
string GetTranslationColumnName(string name);
|
string GetTranslationColumnName(string entityName, string propertyName);
|
||||||
|
string GetTranslationColumnName(string propertyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -10,21 +10,29 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
public override string GetTranslationTableName(string name)
|
public override string GetTranslationTableName(string name)
|
||||||
{
|
{
|
||||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
|
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||||
var context = this.Context;
|
var context = this.Context;
|
||||||
var mappingInfo = context
|
var mappingInfo = context
|
||||||
.MappingTables
|
.MappingTables
|
||||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||||
return "[" + (mappingInfo == null ? name : mappingInfo.DbTableName) + "]";
|
return "[" + (mappingInfo == null ? name : mappingInfo.DbTableName) + "]";
|
||||||
}
|
}
|
||||||
public override string GetTranslationColumnName(string name)
|
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||||
{
|
{
|
||||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
|
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||||
|
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||||
var context = this.Context;
|
var context = this.Context;
|
||||||
var mappingInfo = context
|
var mappingInfo = context
|
||||||
.MappingColumns
|
.MappingColumns
|
||||||
.FirstOrDefault(it => it.EntityPropertyName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
.FirstOrDefault(it =>
|
||||||
return (mappingInfo == null ? "["+name+"]" : "["+mappingInfo.DbColumnName+"]");
|
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase)&&
|
||||||
|
it.EntityPropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
return (mappingInfo == null ? "["+ propertyName + "]" : "["+mappingInfo.DbColumnName+"]");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetTranslationColumnName(string propertyName)
|
||||||
|
{
|
||||||
|
return "[" + propertyName + "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -253,6 +253,7 @@ namespace SqlSugar
|
|||||||
sqlBuilder.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig);
|
sqlBuilder.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig);
|
||||||
sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this;
|
sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this;
|
||||||
reval.Init();
|
reval.Init();
|
||||||
|
reval.InsertBuilder.EntityInfo = reval.EntityInfo;
|
||||||
return reval;
|
return reval;
|
||||||
}
|
}
|
||||||
public virtual IInsertable<T> Insertable<T>(List<T> insertObjs) where T : class, new()
|
public virtual IInsertable<T> Insertable<T>(List<T> insertObjs) where T : class, new()
|
||||||
|
Reference in New Issue
Block a user