public static void CreateNonClusteredNonUniqueIndex(NRepository_NorthwindContext context, string field, string tableName) { if (!CheckIndexExists(context, field, tableName)) { context.Database.ExecuteSqlCommand(string.Format("CREATE INDEX IX_{0} ON {1} ({0})", field, tableName)); } }
public static void CreateNonClusteredNonUniqueIndexWithFieldsAndIncludes(string indexName, string tableName, IList<string> fields, IList<string> includes, NRepository_NorthwindContext context) { if (CheckIndexExists(context, indexName, tableName)) { return; } var sql = string.Format("CREATE NONCLUSTERED INDEX IX_{0} ON {1} (", indexName, tableName); for (var i = 0; i < fields.Count; i++) { sql = sql + fields[i]; if (i < (fields.Count - 1)) { sql = sql + ", "; } } sql = sql + ")"; sql += " INCLUDE ("; for (var i = 0; i < includes.Count; i++) { sql += includes[i]; if (i < (includes.Count - 1)) { sql = sql + ", "; } } sql = sql + ") WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF)"; context.Database.ExecuteSqlCommand(sql); }
public static void CreateNonClusteredNonUniqueIndex(NRepository_NorthwindContext context, IList<string> fields, string tableName, string indexName) { if (CheckIndexExists(context, indexName, tableName)) { return; } var sql = string.Format("CREATE NONCLUSTERED INDEX IX_{0} ON {1} (", indexName, tableName); for (var i = 0; i < fields.Count; i++) { sql = sql + fields[i]; if (i < (fields.Count - 1)) { sql = sql + ", "; } } sql = sql + ")"; context.Database.ExecuteSqlCommand(sql); }
public static bool CheckStoredProcedureExists(NRepository_NorthwindContext context, string procedureName) { var checkSqlCommand = string.Format("SELECT name FROM sys.objects WHERE type = 'P' AND name = '{0}'", procedureName); var checkResults = context.Database.SqlQuery<string>(checkSqlCommand); return checkResults.Any(); }
public static bool CheckIndexExists(NRepository_NorthwindContext context, string field, string tableName) { string checkSqlCommand = string.Format("SELECT name FROM sys.indexes WHERE name='IX_{0}' AND object_id = OBJECT_ID('{1}')", field, tableName); var checkResults = context.Database.SqlQuery<string>(checkSqlCommand); return checkResults.Any(); }
public static void AddStoredProcedure(NRepository_NorthwindContext context, string resourceName) { var sqlScript = GetSharedEmbeddedResource(resourceName); context.Database.ExecuteSqlCommand(sqlScript); }
public static void CreateUniqueConstraint(NRepository_NorthwindContext context, string tableName, string field) { var dropSql = string.Format( "IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[UC_{0}_{1}]') AND type in (N'UQ')) " + "ALTER TABLE [dbo].[{0}] DROP CONSTRAINT [UC_{0}_{1}]", tableName, field); context.Database.ExecuteSqlCommand(dropSql); var sql = string.Format("ALTER TABLE [dbo].[{0}] ADD CONSTRAINT [UC_{0}_{1}] UNIQUE ({1})", tableName, field); context.Database.ExecuteSqlCommand(sql); }