カスタムデータベース初期化子を使用してデータをシードしようとしていますが、動作させることができません。 appConfigファイルにいくつかの設定を追加しようとしましたが、それもうまくいきませんでした。カスタムDbイニシャライザのシードデータは機能しません/ EF、コードファースト
これはWPFアプリケーションであり、EntityLibraryを参照したくありません。コンテキストのコンストラクタを使用してデータをシードしたいと思います。どうしたの?
編集:データが入力されないという問題があります。デバッグ時には、コンテキストのコンストラクターSetInitiazlier関数が呼び出されますが、オーバーライドされたSeedメソッドは呼び出されません。実際、デバッガーはSeedメソッドを使用しません。
同時に、XAMLパーサーは、TContext型のパラメーター、つまり、 DropCreateDatabaseIfModelChangesについてエラーを返します。私は自宅でコードを持っていないので、私は正確なエラーを与えることはできません。
これは私のカスタム初期化子です:
public class DbInitializer : DropCreateDatabaseIfModelChanges<DemirbaşContext>
{
protected override void Seed(DemirbaşContext context)
{
Kullanıcı kullanıcı = new Kullanıcı
{
Ad = "Mert",
Soyad = "Mert",
KullanıcıAdı = "admin",
Şifre = "password",
Email = "[email protected]"
};
context.Kullanıcılar.Add(kullanıcı);
context.SaveChanges();
base.Seed(context);
}
}
これは私のコンテキストコンストラクタです:
public DemirbaşContext():base("Demirbaş")
{
Database.SetInitializer<DemirbaşContext>(new DbInitializer());
}
EDIT 1:ここに私の現在のコードですが、まだそれがデータをシードしません。あなたは何が間違っているのか分かりますか?
イニシャライザ:
public class DbInitializer : DropCreateDatabaseIfModelChanges<DemirbaşContext>
{
protected override void Seed(DemirbaşContext context)
{
Kullanıcı kullanıcı = new Kullanıcı
{
Ad = "Mert",
Soyad = "Mert",
KullanıcıAdı = "admin",
Şifre = "password",
Email = "[email protected]"
};
context.Kullanıcılar.Add(kullanıcı);
context.SaveChanges();
}
}
アプリケーションの起動:
public partial class App : Application
{
public App()
{
// Seed data, remove after getting seeding in custom db initiazlier to work
DemirbaşContext context = new DemirbaşContext();
DbInitializer initializer = new DbInitializer();
Database.SetInitializer<DemirbaşContext>(initializer);
context.Database.Initialize(false);
}
}
*カスタムデータベース初期化子を使用してデータをシードしようとしていますが、動作させることができません。 appConfigファイルにいくつかの設定を追加しようとしましたが、それもうまくいきませんでした。*問題の説明ではありません。 *実際に何が起こっているのか(例外、データベース、データなしなど)を説明せずに*動作しないことを確認するたびに、私はdownvotingを検討し、 "本当の質問ではない"という質問を閉じることを検討しています。良い説明的な質問をすることは、答えを得るために必要なステップです。 –
あなたは正しいです。私はその質問を編集した。今はっきりしていることを願っています。 –
アプリケーションで実際にEFを使用しましたか?データベースから何かを読み込んだり、何かをデータベースに保存したりしますか? –