私は、エンティティフレームワーク、ビジュアルスタジオ、および.netを初めて使用しています。私はdbテーブルのためのモデルを作成しました(コードの最初の慣習を使用して)。私は、移行を実行し、テーブルを更新しましたそれはうまく動作します挿入し、テーブル内のエンティティを取得しますが、ときどき私のテーブルとテーブルのデータが消えてしまう。 update-database
コマンドを実行して、テーブルを再度生成する必要があります。 dbテーブルを消失させる理由は何でしょうか。私のコードに存在する移行スクリプトがここにありますここに私のLMSSeedDataクラスがあるdbテーブルがコード内で自動的に消滅する最初のエンティティフレームワーク
public class LMSSeedData : DropCreateDatabaseAlways<LMSDBContext>
{
protected override void Seed(LMSDBContext context)
{
base.Seed(context);
}
}
がコンテキストクラスで、ここで
public class LMSDBContext : IdentityDbContext<ApplicationUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim>
{
public LMSDBContext()
: base("LMSDBContext")
{
Database.SetInitializer(new DropCreateDatabaseAlways<LMSDBContext>());
Database.SetInitializer<LMSDBContext>(new MigrateDatabaseToLatestVersion<LMSDBContext, Migrations.Configuration("LMSDBContext"));
this.Configuration.LazyLoadingEnabled = true;
}
}
は私のpackages.configファイル
<packages>
<package id="Edi.Web.MvcExtensions" version="5.2.3.1"
targetFramework="net461" />
<package id="EntityFramework" version="6.2.0-beta1" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
</packages>
ys私はこれらの2つのクラスを持っています – Asad
私は*データベース*が消えているとは思わないが、説明は適切な答えを与えるために曖昧です。 –
私はランダムな動作で消えた2つのテーブルを何度も更新データベースを実行する必要があります。私を助けてもらえますか? @GertArnold – Asad