public void CreateTable(EntityBase entity, string connectionName = null) { string sqlTemplate = @"CREATE TABLE {0} ({1})"; List <string> attrList = new List <string>(); foreach (var attr in entity.Attributes.Keys) { var temp = entity.Attributes[attr].AttributeName + " " + entity.Attributes[attr].AttributeType; if (!string.IsNullOrEmpty(entity.Attributes[attr].AttributeSize) && int.Parse(entity.Attributes[attr].AttributeSize) > 0) { temp += string.Format("({0})", entity.Attributes[attr].AttributeSize); } if (entity.Attributes[attr].IsPrimaryKey) { temp += " PRIMARY KEY"; } if (entity.Attributes[attr].IsNotNull && !entity.Attributes[attr].IsPrimaryKey) { temp += " NOT NULL"; } attrList.Add(temp); } string sqlText = string.Format(sqlTemplate, entity.EntityName, string.Join(",", attrList.ToArray())); SqlServerBaseOrder.ExecuteNonQuery(SqlServerConnectionProvider.Instance.GetConnectionString(connectionName), sqlText); }
public int Insert <T>(SqlCondition condition, T data) { EntityBase entity = EntityManager.GetEntity(condition.ConnectionName, condition.TableName); if (entity == null) { throw new Exception("Invalid connection or table."); } List <string> attrList = new List <string>(); List <string> paramList = new List <string>(); foreach (var attr in entity.Attributes.Keys) { attrList.Add(attr); paramList.Add(string.Format("@{0}", attr)); } string sqlTemplate = "INSERT INTO {0}({1})VALUES({2})"; string sqlText = string.Format(sqlTemplate, condition.TableName, string.Join(",", attrList), string.Join(",", paramList)); List <SqlParameter> paras = new List <SqlParameter> { }; foreach (var attr in entity.Attributes.Keys) { paras.Add(this.Convert <T>(entity.Attributes[attr], data)); } string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(condition.ConnectionName); return(SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText, paras.ToArray())); }
public void CreateDatabase(string connectionName = null) { string databaseName = ConnectionProviderBase.GetDatabaseName(connectionName); string sqlTemplate = "CREATE DATABASE {0}"; string sqlText = string.Format(sqlTemplate, databaseName); string connStr = SqlServerConnectionProvider.Instance.GetConnectionStringWithoutIC(connectionName); SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText); }
public int Delete(SqlCondition condition) { string sqlTemplate = "DELETE FROM {0}"; string sqlText = string.Format(sqlTemplate, condition.TableName); if (condition.Expression != null) { sqlText += condition.Expression.GenerateSqlText(); } string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(condition.ConnectionName); return(SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText)); }
public int InsertIntoEntityBase(EntityBase entity, string connectionName = null) { string sqlText = "INSERT INTO EntityBase(Id, EntityName)VALUES(@Id, @EntityName)"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@Id", SqlDbType.NVarChar, 256), new SqlParameter("@EntityName", SqlDbType.NVarChar, 256) }; paras[0].Value = entity.Id; paras[1].Value = entity.EntityName; string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(connectionName); return(SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText, paras)); }
public void CreateDefaultTable(string connectionName = null) { string sqlText1 = @"CREATE TABLE EntityBase(Id nvarchar(256) primary key, EntityName nvarchar(256))"; string sqlText2 = @"CREATE TABLE EntityAttributeBase ( Id nvarchar(256) primary key, EntityId nvarchar(256), AttributeName nvarchar(256), AttributeType nvarchar(256), AttributeSize nvarchar(256), IsPrimaryKey bit, IsNotNull bit )"; string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(connectionName); SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText1); SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText2); }
public void CreateField(string entityName, EntityAttributeBase attributeBase, string connectionName = null) { string sqlText = "ALTER TABLE {0} ADD {1} {2}"; string temp = string.Format(sqlText, entityName, attributeBase.AttributeName, attributeBase.AttributeType); if (!string.IsNullOrEmpty(attributeBase.AttributeSize) && int.Parse(attributeBase.AttributeSize) > 0) { temp += string.Format("({0})", attributeBase.AttributeSize); } if (attributeBase.IsPrimaryKey) { temp += " PRIMARY KEY"; } if (attributeBase.IsNotNull && !attributeBase.IsPrimaryKey) { temp += " NOT NULL"; } SqlServerBaseOrder.ExecuteNonQuery(SqlServerConnectionProvider.Instance.GetConnectionString(connectionName), temp); }
public int Update <T>(SqlCondition condition, T data) { EntityBase entity = EntityManager.GetEntity(condition.ConnectionName, condition.TableName); if (entity == null) { throw new Exception("Invalid connection or table."); } List <string> attrList = new List <string>(); List <string> expressionList = new List <string>(); foreach (var attr in entity.Attributes.Keys) { if ((condition.FilterWay == FilterWay.FilterOut && !condition.FilterColumns.Contains(attr)) || (condition.FilterWay == FilterWay.Keep && condition.FilterColumns.Count == 0) || (condition.FilterWay == FilterWay.Keep && condition.FilterColumns.Contains(attr))) { attrList.Add(attr); expressionList.Add(string.Format("{0} = @{0}", attr)); } } string sqlTemplate = "UPDATE {0} SET {1}"; string sqlText = string.Format(sqlTemplate, condition.TableName, string.Join(",", expressionList)); if (condition.Expression != null) { sqlText += condition.Expression.GenerateSqlText(); } List <SqlParameter> paras = new List <SqlParameter> { }; foreach (var attr in attrList) { paras.Add(this.Convert <T>(entity.Attributes[attr], data)); } string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(condition.ConnectionName); return(SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText, paras.ToArray())); }
public int InsertIntoEntityAttributeBase(EntityAttributeBase attributeBase, string connectionName = null) { string sqlText = "INSERT INTO EntityAttributeBase(Id, EntityId, AttributeName, AttributeType, AttributeSize, IsPrimaryKey, IsNotNull)VALUES(@Id, @EntityId, @AttributeName, @AttributeType, @AttributeSize, @IsPrimaryKey, @IsNotNull)"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@Id", SqlDbType.NVarChar, 256), new SqlParameter("@EntityId", SqlDbType.NVarChar, 256), new SqlParameter("@AttributeName", SqlDbType.NVarChar, 256), new SqlParameter("@AttributeType", SqlDbType.NVarChar, 256), new SqlParameter("@AttributeSize", SqlDbType.NVarChar, 256), new SqlParameter("@IsPrimaryKey", SqlDbType.Bit), new SqlParameter("@IsNotNull", SqlDbType.Bit) }; paras[0].Value = attributeBase.Id; paras[1].Value = attributeBase.EntityId; paras[2].Value = attributeBase.AttributeName; paras[3].Value = attributeBase.AttributeType; paras[4].Value = string.IsNullOrEmpty(attributeBase.AttributeSize) ? (object)DBNull.Value : attributeBase.AttributeSize; paras[5].Value = attributeBase.IsPrimaryKey; paras[6].Value = attributeBase.IsNotNull; string connStr = SqlServerConnectionProvider.Instance.GetConnectionString(connectionName); return(SqlServerBaseOrder.ExecuteNonQuery(connStr, sqlText, paras)); }