2

エンティティ フレームワークを使用して既存のデータベースにアクセスしています。データにアクセスできますが、新しいデータを追加しようとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という NullReferenceException が発生しますが、そうですか?

DB 接続は問題ありません。データに問題なくアクセスできます。 List<log> logs = db.log.ToList();

Add または Create を使用すると、例外がスローされます。

db.log.Add(new log());
db.log.Create();

スタックトレース:

at System.Data.Entity.DbSet`1.Create()

アップデート:

エラーは、DB コンテキストを含む名前空間の外側でのみ発生します。クラスをラップして「DB コンテキストに追加」メソッドを DBHandler 名前空間に含めることで、この問題を回避できます。しかし、なぜこれが起こるのか説明が欲しいです。それはバグですか、それとも .net の神聖な法律に違反していますか?

御時間ありがとうございます!

4

1 に答える 1

0

これを試して :

using (db = new xxxxxEntities())
        {
           List<log> logs = db.log.ToList();
           db.log.Add(new log());
           db.log.Create();
        }
于 2012-10-22T08:50:49.380 に答える