質問

私たちは、異なるユーザーが実行時に決定された差分データベースに接続しているように、EntityConnectionを動的に構築しようとしています。これを行うには、ここで見つかったコードをテストしています。 http:// msdn.microsoft.com / en-us / library / bb738533.aspx 。以下にこれを実装しました:

' 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
.

conn.open()が実行されるとエラーがスローされます。 "指定されたメタデータリソースを読み込むことができません。"「res:// * ...」の1つ以上の参照が間違っていることを示すようです。プロジェクトにはこれらのファイルが含まれていることを確認しました(bin / debugフォルダの下)。私たちはここで行方不明のものです - 任意のアイデア?

ありがとう

役に立ちましたか?

解決

はい、res://部分が間違っています。ローカルファイルシステム上ではなく、リフレクタ(アセンブリ内の内側)を参照して、それらが何であるかを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top