public override void OnInserted(DomainObject obj, DataTable table) { DataContext.Current.OpenLock(QueryLevel.Single); var id = (obj as IEntityObject).GetIdentity(); var parent = obj.GetValue <IEntityObject>(this.ParentProperty); if (SqlContext.GetDbType() == DatabaseType.SQLServer) { if (parent.IsEmpty()) { //自身为根 DataPortal.Direct(obj.ObjectType, (conn) => { var sql = string.Format("update dbo.{0} set lft=@lft,rgt=@rgt,rootId=@id where id=@id;", table.Name); conn.Execute(sql, new { lft = 0, rgt = 1, id }); }); } else { var parentId = parent.GetIdentity(); var sql = _getUpdateLRForInsertSqlBySqlServer(table.Name); //显示开启锁 DataPortal.Direct(obj.ObjectType, (conn) => { conn.Execute(sql, new { id, parentId }); }); } return; } throw new MapperNotImplementedException(obj.ObjectType, "insert"); }
private string GetSql() { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(GetSqlBySQLServer()); } return(null); }
private string GetSql(string tableName) { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(SQLServer.SqlStatement.GetDropTableSql(tableName)); } return(null); }
private static string GetInsertSql(DataTable table) { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(GetSqlBySQLServer(table)); } return(null); }
private string GetSql() { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(SQLServer.SqlStatement.GetIncrementIdentitySql(this.Target)); } return(null); }
private ISqlPageTemplate GetTemplate() { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(GetSQLBySQLServer()); } return(null); }
/// <summary> /// 包装标示限定符 /// </summary> /// <returns></returns> public static string Qualifier(string name) { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(string.Format("[{0}]", name)); case DatabaseType.MySQL: return(string.Format("`{0}`", name)); } return(name); }
/// <summary> /// 内部构建 /// </summary> /// <param name="connName"></param> /// <param name="param"></param> /// <returns></returns> private string InternalBuild(DynamicData param) { string sql = Process(param); if (string.IsNullOrEmpty(sql)) { throw new NotSupportDatabaseException(this.GetType().Name, SqlContext.GetDbType()); } return(sql); }
private string GetSql() { if (this.Target.Type == DataTableType.EntityObject || this.Target.Type == DataTableType.ValueObject) { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(GetSqlBySQLServer()); } } throw new NotSupportDatabaseException("GetIncrementAssociatedSql - " + this.Target.Type.ToString()); }
private string GetSql() { switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: { return(SQLServer.SqlStatement.GetSingleLockSql(this.Target)); } } return(null); }
private string GetSql() { if (this.Definition.IsCustom) { return(string.Empty); //自定义查询,由程序员自行解析 } switch (SqlContext.GetDbType()) { case DatabaseType.SQLServer: return(GetSqlBySQLServer()); } return(null); }
public override string Build(QueryBuilder builder, DynamicData param, DataTable table) { if (builder.Name == "findParents") { if (SqlContext.GetDbType() == DatabaseType.SQLServer) { return(_getFindParentsSqlBySqlServer(table.Name)); } throw new MapperNotImplementedException(builder.ObjectType, "findParents"); } return(base.Build(builder, param, table)); }
public override void OnPreDelete(DomainObject obj, DataTable table) { var id = (obj as IEntityObject).GetIdentity(); if (SqlContext.GetDbType() == DatabaseType.SQLServer) { var sql = _getUpdateLRForDeleteSqlBySqlServer(table.Name); DataPortal.Direct(obj.ObjectType, (conn) => { var result = conn.Execute(sql, new { id }); }); return; } throw new MapperNotImplementedException(obj.ObjectType, "delete"); }
private QueryAdapter(string name) { this.Name = name; _dbType = SqlContext.GetDbType(); _dataIsComplete = false; }
public NotSupportDatabaseException(string operation) : this(operation, SqlContext.GetDbType()) { }