1

実行時にEntityFrameworkで接続文字列を設定しようとしています。これを行うために、次のコードがあります。

string connectionString = "tcp:[serverName],[port];initial catalog=[databaseName];user id=[userName];password=[pwd];MultipleActiveResultSets=True;App=EntityFramework";
using (MyEntities entities = new MyEntities(connectionString))
{
  MyEntity entity = new MyEntity();
  // Set entity properties here

  entities.MyEntities.Add(entity);
  entities.SaveChanges();
}

という行に到達するとentities.MyEntities.Add(entity)、例外がスローされます。この例外には、次の情報があります。

Type: ArgumentException
Message: Keyword not supported: 'tcp:[serverName],[port];initial catalog'.

私が書いたコードが機能しないのはなぜですか?私の一生の間、私はそれを理解することができません。

ありがとうございました!

4

1 に答える 1

2

「サーバー」がありません:

string connectionString = "Server=tcp:[serverName],[port];initial catalog=[databaseName];user id=[userName];password=[pwd];MultipleActiveResultSets=True;App=EntityFramework";

(質問のコードに[serverName]、[port]、[databaseName]を置き換えて、機密情報を非表示にしていると仮定します。明らかに、[serverName]は有効なホスト名ではありません。)

「サーバー」と「初期カタログ」が連携して機能するかどうかは100%わかりません。そのため、「サーバー」の代わりに「データソース」、または「初期カタログ」の代わりに「データベース」が必要になる場合があります。

于 2013-02-01T21:19:42.273 に答える