私はMVCを使うのが初めてで、アプリケーションを初めて起動したときにイニシャライザを使用してデータベースにデータを初期化しようとしています。ここで私はGlobal.asax.csに持っているものです:Web.configファイルでデータベースが現在使用中であるため、データベースを削除できませんMVC
System.Data.Entity.Database.SetInitializer(new MyAppInitializer());
MyAppContext db = new MyAppContext();
db.Database.Initialize(true);
、ここに私の接続文字列は次のとおりです。
<connectionStrings>
<add name="MyAppContext"
connectionString="data source= MyServer; Integrated Security=True; database=MyDatabase"
providerName="System.Data.SqlClient"/>
これは、MS SQL 2008 R2を使用しています。私の初期化子は次のようになります。どれも今それを使用すべきではないものの
public class MyAppInitializer : DropCreateDatabaseAlways<MyAppContext>
{
protected override void Seed(MyAppContext context)
{
var organizations = new List<Organizations>
{
new Organizations { OrgName = "AT", OrgPhone = 5093333433, OrgOfficeLocation = "ITB", OrgPointOfContact = "Tony", OrgIsActive = 1 },
new Organizations { OrgName = "Libraries", OrgPhone = 5093331122, OrgOfficeLocation = "Holland-Terrell", OrgPointOfContact = "Herald", OrgIsActive = 1 }
};
organizations.ForEach(s => context.Organizations.Add(s));
context.SaveChanges();
私は、私はSQL Server Management Studioで、サーバーやデータベースへの私の接続を閉じたが、複数の人が、このDBへのアクセス権を持っていることを確認しました。このデータをDBで初期化できるようにするにはどうすればよいですか?ありがとう!
編集:私は既にDBをサーバー上に作成していますが、それは完全に空です(テーブルやプロシージャなどはありません)。これは問題を引き起こすでしょうか? SSMSで
構文エラーが発生しました: 'IMMEDIATE'の近くの構文が間違っていました。これを取り出して実行しましたが、停止する前に約5分間実行しました。この場合、エラーが発生します:ROLLBACK TRANSACTION要求に対応するBEGIN TRANSACTION。 – SantasNotReal
WITH ROLLBACK IMMEDIATE – Sam
*** LocalDB ***は、_mdf file_を使用して動作しますか? – Kiquenet