[解決済み] <Database> コンテキストを支えるモデルが、データベース作成後に変更されました。
2022-02-04 02:21:55
質問
エラーメッセージが表示されます。
AddressBook' コンテキストをバックアップするモデルは、データベースが作成された後に変更されました。 データベースを手動で削除/更新するか、IDatabaseInitializer インスタンスを使用して Database.SetInitializer を呼び出してください。 例えば、RecreateDatabaseIfModelChanges 戦略は、自動的にデータベースを削除して再作成し、オプションで新しいデータでシードします(")。
コードファーストの機能を使おうとして、以下のようなことを書きました。
var modelBuilder = new ModelBuilder();
var model = modelBuilder.CreateModel();
using (AddressBook context = new AddressBook(model))
{
var contact = new Contact
{
ContactID = 10000,
FirstName = "Brian",
LastName = "Lara",
ModifiedDate = DateTime.Now,
AddDate = DateTime.Now,
Title = "Mr."
};
context.contacts.Add(contact);
int result = context.SaveChanges();
Console.WriteLine("Result :- "+ result.ToString());
}
コンテキストクラスです。
public class AddressBook : DbContext
{
public AddressBook()
{ }
public AddressBook(DbModel AddressBook)
: base(AddressBook)
{
}
public DbSet<Contact> contacts { get; set; }
public DbSet<Address> Addresses { get; set; }
}
と接続文字列を指定します。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="AddressBook" providerName="System.Data.SqlClient"
connectionString="Data Source=MyMachine;Initial Catalog=AddressBook;
Integrated Security=True;MultipleActiveResultSets=True;"/>
</connectionStrings>
</configuration>
つまり、データベース名は "AddressBook" で、コンテキストにコンタクトオブジェクトを追加しようとしたときにエラーが発生しました。何か見逃していませんか?
どうすればいいですか?
今はそうです。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<YourDbContext>(null);
base.OnModelCreating(modelBuilder);
}
をYourDbContext.csファイルに記述してください。
関連
-
[解決済み】プラットフォームが同じでも「不正なフォーマットでプログラムを読み込もうとしました。
-
[解決済み] ファイル *.mdf をデータベースとして添付できません。
-
[解決済み] リファレンスの追加にSystem.Web.Mvcが表示されないのはなぜですか?
-
[解決済み] VB.NETで線を引く方法
-
[解決済み] gacutil.exeはどこですか?
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] CryptographicException「キーセットが存在しない」、ただしWCF経由に限る
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] プライベートメソッドのユニットテストはどのように行うのですか?
-
[解決済み] Math.Round(2.5)はなぜ3でなく2を返すのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Microsoft.Practices.ServiceLocationはどこから来たのですか?
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] <Database> コンテキストを支えるモデルが、データベース作成後に変更されました。
-
[解決済み] SQL Server Compact EditionデータベースのLINQ to SQLで、"Row not found or changed "例外を解決するにはどうすればよいですか?
-
[解決済み] データテーブルがすでに別のデータセットに属している
-
[解決済み] LINQ: フィルタリング基準で SingleOrDefault と FirstOrDefault() を使用する場合
-
[解決済み] Nuget接続の試行に失敗しました。"Unable to load service index for source"。
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] プライベートメソッドのユニットテストはどのように行うのですか?