コードファーストのアプローチを使用してデータベースを作成しようとしています。次のコードを実行すると、次の例外が発生します。どうすればこれを克服できますか?
ノート:
- システムに SQL Server 2008 R2 があります。
- 私は設定ファイルを使用していません。規則を使用してデータベースを作成すると想定しました
- まだ開いている接続はありません。システムを再起動してテストしました。それでも同じ問題です。
- EntityFramework.dllのランタイム バージョンはv4.0.3xxxです。
例外:
プロバイダーは ProviderManifestToken 文字列を返しませんでした
メッセージ:
この操作には、'master' データベースへの接続が必要です。元のデータベース接続が開かれており、資格情報が接続文字列から削除されているため、'master' データベースへの接続を作成できません。開かれていない接続を提供します。
内部例外:
SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)
コード:
using System.Data.Entity;
namespace LijosEF
{
public class Dinner
{
public int DinnerID { get; set; }
public int Title { get; set; }
}
public class RSVP
{
public int RSVPID { get; set; }
public int DinnerID { get; set; }
public virtual Dinner Dinner { get; set; }
}
//System.Data.Entity.DbContext is from EntityFramework.dll
public class NerdDinners : System.Data.Entity.DbContext
{
public DbSet<Dinner> Dinners { get; set; }
public DbSet<RSVP> RSVPs { get; set; }
}
}
namespace LijosEF
{
class Program
{
static void Main(string[] args)
{
using (var db = new NerdDinners())
{
var product = new Dinner { DinnerID = 1, Title = 101 };
db.Dinners.Add(product);
int recordsAffected = db.SaveChanges();
}
}
}
}