net mvc how create asp c# .net sql-server-2008 ado.net indexed-views

c# - asp - how to create a table in mvc



ConfiguraciĆ³n de sesiĆ³n para admitir vistas indexadas (1)

De acuerdo con la documentación , puede establecer estas configuraciones en el nivel de la base de datos:

La configuración de la base de datos establecida mediante ALTER DATABASE es válida solo en el nivel de la base de datos y surte efecto solo si se establece explícitamente. Las configuraciones de la base de datos anulan las configuraciones de las opciones de instancia que se establecen mediante sp_configure.

¿Lo intentaste?

Desafortunadamente, estas propiedades no se pueden establecer en la cadena de conexión, por lo tanto, use este sql:

ALTER DATABASE dbname SET ANSI_NULLS ON -- etc

Estoy usando vistas indexadas en mi base de datos. Entonces el cliente debe tener alguna configuración de conexión de sesión para llamarlos. Estoy usando la conexión ado.net, comando para llamar a procedimientos almacenados. Cada vez que tengo que llamar a un procedimiento almacenado, creo una conexión (espero que el grupo de conexiones me permita hacerlo rápidamente) y ejecuto un comando para aplicar estas configuraciones a la conexión actual.

// some code to create a new connection //... //... if (connection.State != ConnectionState.Open) { connection.Open(); } using (var cmd = connection.CreateCommand()) { cmd.CommandType = CommandType.Text; cmd.CommandText = @" SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON SET ARITHABORT ON SET CONCAT_NULL_YIELDS_NULL ON SET QUOTED_IDENTIFIER ON SET NUMERIC_ROUNDABORT OFF"; cmd.ExecuteNonQuery(); }

Otro pensamiento: agregar estas configuraciones antes de cada llamada del procedimiento almacenado:

command.CommandText = ''SET....''; command.CommandText += '' EXEC MyStroredProc @...'';

Esta solución causa algunos problemas de rendimiento, ¿no?

¿Cómo puedo evitar tanto trabajo si tengo que crear una nueva conexión cada vez? ¿Cómo aplicar estas configuraciones automáticamente?

SOLUCIÓN:

ALTER DATABASE [MyDB] SET ANSI_NULLS ON, ANSI_PADDING ON, ANSI_WARNINGS ON, ARITHABORT ON, CONCAT_NULL_YIELDS_NULL ON, QUOTED_IDENTIFIER ON, NUMERIC_ROUNDABORT OFF