Pregunta

Estamos tratando de construir un EntityConnection de forma dinámica para que los diferentes usuarios se conectan a diferentes bases de datos determina en tiempo de ejecución.Con el fin de hacer esto, estamos probando el código que se encuentra aquí: http://msdn.microsoft.com/en-us/library/bb738533.aspx.Hemos implementado esta a continuación:

' Specify the provider name, server and database.
Dim providerName As String = "System.Data.SqlClient"
Dim serverName As String = "OurDBServerName"
Dim databaseName As String = "OurDBName"

' Initialize the connection string builder for the
' underlying provider.
Dim sqlBuilder As New SqlConnectionStringBuilder

' Set the properties for the data source.
sqlBuilder.DataSource = serverName
sqlBuilder.InitialCatalog = databaseName
sqlBuilder.IntegratedSecurity = False
sqlBuilder.UserID = "OurAppUserName"
sqlBuilder.Password = "OurPassword"

' Build the SqlConnection connection string.
Dim providerString As String = sqlBuilder.ToString

' Initialize the EntityConnectionStringBuilder.
Dim entityBuilder As New EntityConnectionStringBuilder

'Set the provider name.
entityBuilder.Provider = providerName

' Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString

' Set the Metadata location to the current directory.
entityBuilder.Metadata = "res://*/NotaModel.csdl|" & _
                         "res://*/NotaModel.ssdl|" & _
                         "res://*/NotaModel.msl"

Console.WriteLine(entityBuilder.ToString)

Using conn As EntityConnection = New EntityConnection(entityBuilder.ToString)
    conn.Open()
    Console.WriteLine("Just testing the connection.")
    conn.Close()
End Using

Cuando el conn.Open() se ejecuta, se genera un error:"No se puede cargar los metadatos especificados de los recursos." Esto parece indicar que una o más de las "res://*..." referencias está mal.Me han confirmado que el proyecto, de hecho, contienen estos archivos (bajo el bin/debug carpeta).¿Qué nos falta aquí - ¿alguna idea?

Gracias

¿Fue útil?

Solución

Sí, la res:// la parte que está mal.Mira los nombres de los recursos en el Reflector (dentro de la asamblea), no en el sistema de ficheros local, para ver lo que deberían ser.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top