public static Dictionary <string, string> GetTableExtendedProperties(this System.Data.Linq.DataContext dc, string tableName) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } return(tableHelper.GetExtendedProperties()); }
public static IEnumerable <string> GetTableColumnNames(this System.Data.Linq.DataContext dc, string tableName, string extendedProperty, string value) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } return(tableHelper.GetColumnNames(extendedProperty, value)); }
public static void AddExtendedPropertyToColumn(this System.Data.Linq.DataContext dc, string tableName, string columnName, string propertyName, string value) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } tableHelper.AddExtendedPropertyToColumn(columnName, propertyName, value); }
public static string GetNewField(this System.Data.Linq.DataContext dc, string tableName) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } return(tableHelper.GetNewField()); }
public static string GetColumnExtendedProperty(this System.Data.Linq.DataContext dc, string tableName, string columnName, string property) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } return(tableHelper.GetColumnExtendedProperty(columnName, property)); }
public static void DeleteTableExtendedProperty(this System.Data.Linq.DataContext dc, string tableName, string propertyName) { Njit.Sql.TableHelper tableHelper; if ((dc.Connection.State & ConnectionState.Open) == ConnectionState.Open && dc.Transaction != null) { tableHelper = new Njit.Sql.TableHelper(dc.Connection, dc.Transaction, tableName); } else { tableHelper = new Njit.Sql.TableHelper(dc.Connection.ConnectionString, tableName); } tableHelper.DeleteTableExtendedProperty(propertyName); }
/// <summary> /// ثبت /// </summary> /// <param name="model">یک شی معادل با جدول پایگاه داده</param> /// <returns>تعداد سطرهای درج شده برگشت داده میشود</returns> public int InsertObject(object model) { Type type = model.GetType(); Njit.Sql.TableHelper _TableHelper = new TableHelper(this.Connection, this.Transaction, type.Name); List <string> identityColumns = _TableHelper.GetIdentityColumns(); Command.Parameters.Clear(); System.Reflection.PropertyInfo[] properties = model.GetType().GetProperties().Where(t => !identityColumns.Contains(t.Name) && t.GetCustomAttributes(typeof(System.Data.Linq.Mapping.ColumnAttribute), false).Count() > 0).ToArray(); List <System.Data.SqlClient.SqlParameter> parameters = new List <System.Data.SqlClient.SqlParameter>(); int index = 0; foreach (var property in properties) { SqlParameter p = new SqlParameter("@p" + (index++).ToString(), property.GetValue(model, null) ?? DBNull.Value); Command.Parameters.Add(p); parameters.Add(p); } Command.CommandText = string.Format("INSERT INTO [{0}] ({1}) VALUES({2})", type.Name, properties.Select(t => "[" + t.Name + "]").Aggregate((a, b) => a + "," + b), parameters.Select(t => t.ParameterName).Aggregate((a, b) => a + "," + b)); Command.CommandType = CommandType.Text; System.Data.ConnectionState previousConnectionState = Connection.State; if (((Connection.State & System.Data.ConnectionState.Open) != System.Data.ConnectionState.Open)) { try { Connection.Open(); } catch (Exception ex) { throw new Exception("ارتباط با سرور اس کیو ال برقرار نیست" + "\n\n" + ex.Message); } } int i; try { i = Command.ExecuteNonQuery(); } finally { if ((previousConnectionState == System.Data.ConnectionState.Closed)) { Connection.Close(); } } return(i); }
/// <summary> /// حذف /// </summary> /// <param name="model">یک شی معادل با جدول پایگاه داده</param> /// <returns>تعداد سطرهای حذف شده برگشت داده میشود</returns> public int DeleteObject(object model) { Type type = model.GetType(); Njit.Sql.TableHelper tableHelper = new TableHelper(this.Connection, this.Transaction, type.Name); List <string> keyColumns = tableHelper.GetKeyColumns(); Command.Parameters.Clear(); List <System.Data.SqlClient.SqlParameter> parameters = new List <System.Data.SqlClient.SqlParameter>(); System.Reflection.PropertyInfo[] keyProperties = model.GetType().GetProperties().Where(t => keyColumns.Contains(t.Name)).ToArray(); foreach (var property in keyProperties) { System.Data.SqlClient.SqlParameter originalParameter = new System.Data.SqlClient.SqlParameter("@original_" + property.Name, property.GetValue(model, null) ?? DBNull.Value); Command.Parameters.Add(originalParameter); parameters.Add(originalParameter); } Command.CommandText = string.Format("DELETE [{0}] WHERE {1}", model.GetType().Name, keyProperties.Select(t => "[" + t.Name + "]" + "=" + "@original_" + t.Name).Aggregate((a, b) => a + " AND " + b)); Command.CommandType = CommandType.Text; System.Data.ConnectionState previousConnectionState = Connection.State; if (((Connection.State & System.Data.ConnectionState.Open) != System.Data.ConnectionState.Open)) { try { Connection.Open(); } catch (Exception ex) { throw new Exception("ارتباط با سرور اس کیو ال برقرار نیست" + "\n\n" + ex.Message); } } int i; try { i = Command.ExecuteNonQuery(); } finally { if ((previousConnectionState == System.Data.ConnectionState.Closed)) { Connection.Close(); } } return(i); }
public static void UpdateTableExtendedProperty(this IDbConnection connection, string tableName, string propertyName, string value) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); tableHelper.UpdateTableExtendedProperty(propertyName, value); }
public static void AddExtendedPropertyToColumn(this IDbConnection connection, string tableName, string columnName, string propertyName, string value) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); tableHelper.AddExtendedPropertyToColumn(columnName, propertyName, value); }
public static string GetColumnExtendedProperty(this IDbConnection connection, string tableName, string columnName, string property) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetColumnExtendedProperty(columnName, property)); }
public static Dictionary <string, string> GetColumnExtendedProperties(this IDbConnection connection, string tableName, string columnName) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetColumnExtendedProperties(columnName)); }
public static string GetTableIdentityColumn(this IDbConnection connection, string tableName) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetIdentityColumn()); }
public static DataTable GetTableColumns(this IDbConnection connection, string tableName) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetColumns()); }
public static void DeleteColumnExtendedProperty(this IDbConnection connection, string tableName, string columnName, string propertyName) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); tableHelper.DeleteColumnExtendedProperty(columnName, propertyName); }
public static IEnumerable <string> GetTableColumnNames(this IDbConnection connection, string tableName, string extendedProperty, string value) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetColumnNames(extendedProperty, value)); }
public static string GetNewField(this IDbConnection connection, string tableName) { Njit.Sql.TableHelper tableHelper = new Njit.Sql.TableHelper(connection.ConnectionString, tableName); return(tableHelper.GetNewField()); }