2

私はEFにかなり慣れていないので、自分のソリューションで何が起こっているのかについてかなり混乱しています。

私のコードは機能しているように見えますが、期待した変更がデータベースに書き込まれていません。

私は Web Developer 2010 と SQL 2008 を使用しています。コード ファーストのアプローチですが、データベースに独自の変更を加え、クラスが正しく一致することを手動で確認することを選択しています。

データベースハッシュがエンティティフレームワークが期待していたものではないというエラーに遭遇するまで、問題はないように見えたので、modelBuilder.Conventions.Remove(); を調べました。これは利用できませんでした-それ以降のバージョンではないようです。したがって、新しいバージョンでこのチェックが行われない場合は、先に進んで EF 4 への参照を削除し、4.3 dll をその場所に配置します。私も自分のデータベースを削除して名前を変更したと思います。それはうまくいかなかったので、Scott Gu のブログで見つけた dbContext にデータベースと同じ名前を付けることについてフォローアップしました。

しかし、私は今、最も奇妙なシナリオを得ています。コードは実行され、データは保存されていますが、データベースには保存されていません。実際、データベースでプロファイル トレースを実行していますが、接続しようとしているようにも見えません。接続文字列を無効なものに変更することもできますが、コードは問題なく実行され、データは#どこかに#保存されます

何が起こっているのですか?私が気付いていないローカルデータベースまたはキャッシュを使用している可能性がありますか? 小さなプロジェクトをもう一度始めて、これが起こらなかったふりをするべきですか? それがプロのアプローチですよね?

4

1 に答える 1

0

データベースを持っている場合、またはデータベースを最大限に制御しDatabase setたい場合は、データベースの最初のアプローチを使用することをお勧めします。

于 2012-07-01T10:38:00.677 に答える